diff options
| author | Brian Collins <bricollins@gmail.com> | 2012-08-27 16:14:47 +0100 |
|---|---|---|
| committer | Brian Collins <bricollins@gmail.com> | 2012-08-27 16:23:57 +0100 |
| commit | 16f94546f5d7c941a0d49b49e8cd523e7b67b19d (patch) | |
| tree | b1de80cdf47dccf279e4142fa863193c5214544a /src | |
| parent | 55859c1befa7cd04a130f1816cb73a9629637105 (diff) | |
| download | ngircd-16f94546f5d7c941a0d49b49e8cd523e7b67b19d.tar.gz ngircd-16f94546f5d7c941a0d49b49e8cd523e7b67b19d.zip | |
Fix NAMES response when client has multi-prefix
Two fixes here: IRC_Send_NAMES was checking the capability of the wrong client when responding, and it didn't return any prefix for clients that had either +v or +o but not both.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ngircd/irc-info.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/ngircd/irc-info.c b/src/ngircd/irc-info.c index 0ea85874..89d2deef 100644 --- a/src/ngircd/irc-info.c +++ b/src/ngircd/irc-info.c @@ -1578,10 +1578,10 @@ IRC_Send_NAMES(CLIENT * Client, CHANNEL * Chan) if (is_member || is_visible) { if (str[strlen(str) - 1] != ':') strlcat(str, " ", sizeof(str)); - if (Client_Cap(cl) & CLIENT_CAP_MULTI_PREFIX) { - if (strchr(Channel_UserModes(Chan, cl), 'o') && - strchr(Channel_UserModes(Chan, cl), 'v')) - strlcat(str, "@+", sizeof(str)); + if (Client_Cap(Client) & CLIENT_CAP_MULTI_PREFIX && + strchr(Channel_UserModes(Chan, cl), 'o') && + strchr(Channel_UserModes(Chan, cl), 'v')) { + strlcat(str, "@+", sizeof(str)); } else { if (strchr(Channel_UserModes(Chan, cl), 'o')) strlcat(str, "@", sizeof(str)); |