diff options
| author | Ian Chard <ian@chard.org> | 2015-06-24 20:28:27 +0100 |
|---|---|---|
| committer | Ian Chard <ian@chard.org> | 2015-06-24 20:28:27 +0100 |
| commit | 7ff16e81163b3bee43ce053cb86fb2df2a023d53 (patch) | |
| tree | 211b9a94e6e1c064dc0fc03e0769fade224ac05b /src | |
| parent | adfe5affedac5dcf3f66a1a8363429ba1a13ebeb (diff) | |
| download | ngircd-7ff16e81163b3bee43ce053cb86fb2df2a023d53.tar.gz ngircd-7ff16e81163b3bee43ce053cb86fb2df2a023d53.zip | |
Don't bother looking for +N channels for an op
Diffstat (limited to 'src')
| -rw-r--r-- | src/ngircd/irc-login.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/src/ngircd/irc-login.c b/src/ngircd/irc-login.c index 79c0dcd4..10885f28 100644 --- a/src/ngircd/irc-login.c +++ b/src/ngircd/irc-login.c @@ -262,16 +262,17 @@ IRC_NICK( CLIENT *Client, REQUEST *Req ) /* Nickname change */ /* Check that the user isn't on any channels set +N */ - chan = Channel_First(); - while (chan) { - if(Channel_IsMemberOf(chan, Client) && - Channel_HasMode(chan, 'N') && - !Client_HasMode(Client, 'o')) - return IRC_WriteErrClient(Client, - ERR_NONICKCHANGE_MSG, - Client_ID(Client), - Channel_Name(chan)); - chan = Channel_Next(chan); + if(!Client_HasMode(Client, 'o')) { + chan = Channel_First(); + while (chan) { + if(Channel_IsMemberOf(chan, Client) && + Channel_HasMode(chan, 'N')) + return IRC_WriteErrClient(Client, + ERR_NONICKCHANGE_MSG, + Client_ID(Client), + Channel_Name(chan)); + chan = Channel_Next(chan); + } } Change_Nick(Client, target, Req->argv[0], |