commit 16f94546f5d7c941a0d49b49e8cd523e7b67b19d from: Brian Collins date: Mon Aug 27 15:23:57 2012 UTC 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. commit - 55859c1befa7cd04a130f1816cb73a9629637105 commit + 16f94546f5d7c941a0d49b49e8cd523e7b67b19d blob - 0ea85874862b7114b6cd355d59467371055a4013 blob + 89d2deef1fc2b647cf3fbfee543329d85e4fada8 --- src/ngircd/irc-info.c +++ 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));