diff options
Diffstat (limited to 'src/channels.cpp')
-rw-r--r-- | src/channels.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/channels.cpp b/src/channels.cpp index 764126891..14f0f55f1 100644 --- a/src/channels.cpp +++ b/src/channels.cpp @@ -835,6 +835,14 @@ void Channel::UserList(User *user, CUList *ulist) FOREACH_RESULT(I_OnUserList,OnUserList(user, this, ulist)); if (MOD_RESULT == 1) return; + if (MOD_RESULT != -1) + { + if ((this->IsModeSet('s')) && (!this->HasUser(user))) + { + user->WriteServ("401 %s %s :No such nick/channel",user->nick, this->name); + return; + } + } dlen = curlen = snprintf(list,MAXBUF,"353 %s %c %s :", user->nick, this->IsModeSet('s') ? '@' : this->IsModeSet('p') ? '*' : '=', this->name); |