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.
This commit is contained in:
Brian Collins 2012-08-27 16:14:47 +01:00
parent 55859c1bef
commit 16f94546f5
1 changed files with 4 additions and 4 deletions

View File

@ -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));