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:
parent
55859c1bef
commit
16f94546f5
|
@ -1578,10 +1578,10 @@ IRC_Send_NAMES(CLIENT * Client, CHANNEL * Chan)
|
||||||
if (is_member || is_visible) {
|
if (is_member || is_visible) {
|
||||||
if (str[strlen(str) - 1] != ':')
|
if (str[strlen(str) - 1] != ':')
|
||||||
strlcat(str, " ", sizeof(str));
|
strlcat(str, " ", sizeof(str));
|
||||||
if (Client_Cap(cl) & CLIENT_CAP_MULTI_PREFIX) {
|
if (Client_Cap(Client) & CLIENT_CAP_MULTI_PREFIX &&
|
||||||
if (strchr(Channel_UserModes(Chan, cl), 'o') &&
|
strchr(Channel_UserModes(Chan, cl), 'o') &&
|
||||||
strchr(Channel_UserModes(Chan, cl), 'v'))
|
strchr(Channel_UserModes(Chan, cl), 'v')) {
|
||||||
strlcat(str, "@+", sizeof(str));
|
strlcat(str, "@+", sizeof(str));
|
||||||
} else {
|
} else {
|
||||||
if (strchr(Channel_UserModes(Chan, cl), 'o'))
|
if (strchr(Channel_UserModes(Chan, cl), 'o'))
|
||||||
strlcat(str, "@", sizeof(str));
|
strlcat(str, "@", sizeof(str));
|
||||||
|
|
Loading…
Reference in New Issue