repo: ngircd
action: commit
revision: 
path_from: 
revision_from: b8482fd3cfdb429aec75575958f4d5d4e9ae22df:
path_to: 
revision_to: 
git.thebackupbox.net
ngircd
git clone git://git.thebackupbox.net/ngircd
commit b8482fd3cfdb429aec75575958f4d5d4e9ae22df
Author: Alexander Barton 
Date:   Sat Aug 1 14:21:32 2015 +0200

    First check if channel has mode "N", then check membership

    This should be more efficient.

diff --git a/src/ngircd/irc-login.c b/src/ngircd/irc-login.c
index 35026e5587300d08ebb61f9bf9af3a9f99824475..
index ..9fca622ba0ea66422940e2d71dc2dff0d5f2eee4 100644
--- a/src/ngircd/irc-login.c
+++ b/src/ngircd/irc-login.c
@@ -266,8 +266,8 @@ IRC_NICK( CLIENT *Client, REQUEST *Req )
 			   !Client_HasMode(Client, 'o')) {
 				chan = Channel_First();
 				while (chan) {
-					if(Channel_IsMemberOf(chan, Client) &&
-					   Channel_HasMode(chan, 'N'))
+					if(Channel_HasMode(chan, 'N') &&
+					   Channel_IsMemberOf(chan, Client))
 						return IRC_WriteErrClient(Client,
 									  ERR_NONICKCHANGE_MSG,
 									  Client_ID(Client),

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