X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcmd_list.cpp;h=27a9ce44d5bc3f0e81ea1e44a07563589a33da69;hb=ced58c3be3f1da8dcf70c3904e5fe4bdaabf0e3d;hp=8d77566832e03088652aa86af1cf277b708f9186;hpb=1383dba43e463f292aea094d01f62f355946049d;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/cmd_list.cpp b/src/cmd_list.cpp index 8d7756683..27a9ce44d 100644 --- a/src/cmd_list.cpp +++ b/src/cmd_list.cpp @@ -46,9 +46,12 @@ void cmd_list::Handle (char **parameters, int pcnt, userrec *user) for (chan_hash::const_iterator i = chanlist.begin(); i != chanlist.end(); i++) { // if the channel is not private/secret, OR the user is on the channel anyway - if (((!(i->second->binarymodes & CM_PRIVATE)) && (!(i->second->binarymodes & CM_SECRET))) || (has_channel(user,i->second))) + bool n = i->second->HasUser(user); + if (((!(i->second->modes[CM_PRIVATE])) && (!(i->second->modes[CM_SECRET]))) || (n)) { - WriteServ(user->fd,"322 %s %s %d :[+%s] %s",user->nick,i->second->name,usercount_i(i->second),chanmodes(i->second),i->second->topic); + long users = usercount_i(i->second); + if (users) + WriteServ(user->fd,"322 %s %s %d :[+%s] %s",user->nick,i->second->name,users,chanmodes(i->second,n),i->second->topic); } } WriteServ(user->fd,"323 %s :End of channel list.",user->nick);