X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=src%2Fngircd%2Firc-channel.c;h=4ea25bb044e61d7744e0d427faac7a35fa44e3f8;hp=aa4abe3d17afdc49ab2239421661a924df82b168;hb=b71a0ddbd570f5163ede198d635c3b03abd3e27e;hpb=6171beb7ab5dc0586581660852576f437470df63 diff --git a/src/ngircd/irc-channel.c b/src/ngircd/irc-channel.c index aa4abe3d..4ea25bb0 100644 --- a/src/ngircd/irc-channel.c +++ b/src/ngircd/irc-channel.c @@ -597,6 +597,10 @@ IRC_LIST( CLIENT *Client, REQUEST *Req ) } } + /* Send list head */ + if (!IRC_WriteStrClient(from, RPL_LISTSTART_MSG, Client_ID(from))) + return DISCONNECTED; + while (pattern) { /* Loop through all the channels */ if (Req->argc > 0) @@ -608,9 +612,7 @@ IRC_LIST( CLIENT *Client, REQUEST *Req ) /* Gotcha! */ if (!Channel_HasMode(chan, 's') || Channel_IsMemberOf(chan, from) - || (!Conf_MorePrivacy - && Client_HasMode(Client, 'o') - && Client_Conn(Client) > NONE)) + || Client_HasMode(from, 'o')) { if ((Conf_MaxListSize > 0) && IRC_CheckListTooBig(from, count,