From 16f94546f5d7c941a0d49b49e8cd523e7b67b19d Mon Sep 17 00:00:00 2001 From: Brian Collins Date: Mon, 27 Aug 2012 16:14:47 +0100 Subject: [PATCH] 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. --- src/ngircd/irc-info.c | 8 ++++---- 1 file 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)); -- 2.39.2