diff options
| author | Alexander Barton <alex@barton.de> | 2006-04-30 21:31:43 +0000 |
|---|---|---|
| committer | Alexander Barton <alex@barton.de> | 2006-04-30 21:31:43 +0000 |
| commit | 6d3686e73dd5df99ee09a3a1f81a89dfa47efab8 (patch) | |
| tree | 5243e03b97cd80fea99789dc1d31ed7cb67010d0 | |
| parent | 5d0ba011c7a3d71e00c677edd74a5383e3f15fac (diff) | |
| download | ngircd-6d3686e73dd5df99ee09a3a1f81a89dfa47efab8.tar.gz ngircd-6d3686e73dd5df99ee09a3a1f81a89dfa47efab8.zip | |
Send invite and ban lists only once and not repeatedly for every channel.
| -rw-r--r-- | src/ngircd/irc-server.c | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/src/ngircd/irc-server.c b/src/ngircd/irc-server.c index 989e5787..2c153064 100644 --- a/src/ngircd/irc-server.c +++ b/src/ngircd/irc-server.c @@ -1,6 +1,6 @@ /* * ngIRCd -- The Next Generation IRC Daemon - * Copyright (c)2001,2002 by Alexander Barton (alex@barton.de) + * Copyright (c)2001-2006 Alexander Barton (alex@barton.de) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -14,7 +14,7 @@ #include "portab.h" -static char UNUSED id[] = "$Id: irc-server.c,v 1.38 2005/03/19 18:43:49 fw Exp $"; +static char UNUSED id[] = "$Id: irc-server.c,v 1.39 2006/04/30 21:31:43 alex Exp $"; #include "imp.h" #include <assert.h> @@ -244,22 +244,24 @@ IRC_SERVER( CLIENT *Client, REQUEST *Req ) if( ! IRC_WriteStrClient( Client, "%s", str )) return DISCONNECTED; } + /* Get next channel ... */ + chan = Channel_Next(chan); + } + #ifdef IRCPLUS - if( strchr( Client_Flags( Client ), 'L' )) - { + if (strchr(Client_Flags(Client), 'L')) { #ifdef DEBUG - Log( LOG_DEBUG, "Synchronizing INVITE- and BAN-lists ..." ); + Log(LOG_DEBUG, + "Synchronizing INVITE- and BAN-lists ..."); #endif - /* Synchronize INVITE- and BAN-lists */ - if( ! Lists_SendInvites( Client )) return DISCONNECTED; - if( ! Lists_SendBans( Client )) return DISCONNECTED; - } + /* Synchronize INVITE- and BAN-lists */ + if (! Lists_SendInvites(Client)) + return DISCONNECTED; + if (! Lists_SendBans(Client)) + return DISCONNECTED; + } #endif - /* naechsten Channel suchen */ - chan = Channel_Next( chan ); - } - return CONNECTED; } else if( Client_Type( Client ) == CLIENT_SERVER ) |