From: Brian Collins Date: Mon, 27 Aug 2012 15:14:47 +0000 (+0100) Subject: Fix NAMES response when client has multi-prefix X-Git-Tag: rel-20-rc1~83^2 X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=16f94546;p=ngircd.git 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. --- 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));