repo: ngircd
action: commit
revision: 
path_from: 
revision_from: 6d3686e73dd5df99ee09a3a1f81a89dfa47efab8:
path_to: 
revision_to: 
git.thebackupbox.net
ngircd
git clone git://git.thebackupbox.net/ngircd
commit 6d3686e73dd5df99ee09a3a1f81a89dfa47efab8
Author: Alexander Barton 
Date:   Sun Apr 30 21:31:43 2006 +0000

    Send invite and ban lists only once and not repeatedly for every channel.

diff --git a/src/ngircd/irc-server.c b/src/ngircd/irc-server.c
index 989e5787f6d386a25b31b39aec3febbf07540a19..
index ..2c153064b11306d385e463ebdd938a970a089fa3 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 
@@ -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 )

-----END OF PAGE-----