diff options
-rw-r--r-- | src/commands/cmd_list.cpp | 2 | ||||
-rw-r--r-- | src/modules/m_safelist.cpp | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/commands/cmd_list.cpp b/src/commands/cmd_list.cpp index 6c95d7e8d..a8c696645 100644 --- a/src/commands/cmd_list.cpp +++ b/src/commands/cmd_list.cpp @@ -59,7 +59,7 @@ CmdResult CommandList::Handle (const std::vector<std::string>& parameters, User } // if the channel is not private/secret, OR the user is on the channel anyway - bool n = i->second->HasUser(user); + bool n = (i->second->HasUser(user) || IS_OPER(user)); if (!IS_OPER(user) && (i->second->IsModeSet('p')) && (!n)) { user->WriteNumeric(322, "%s *",user->nick); diff --git a/src/modules/m_safelist.cpp b/src/modules/m_safelist.cpp index 0c6f7df81..358d54eda 100644 --- a/src/modules/m_safelist.cpp +++ b/src/modules/m_safelist.cpp @@ -198,7 +198,7 @@ class ModuleSafeList : public Module bool display = (match(chan->name, ld->glob.c_str()) || (*chan->topic && match(chan->topic, ld->glob.c_str()))); if ((users) && (display)) { - int counter = snprintf(buffer, MAXBUF, "322 %s %s %ld :[+%s] %s",user->nick, chan->name, users, chan->ChanModes(has_user), chan->topic); + int counter = snprintf(buffer, MAXBUF, "322 %s %s %ld :[+%s] %s",user->nick, chan->name, users, chan->ChanModes(has_user || IS_OPER(user)), chan->topic); amount_sent += counter + ServerNameSize; user->WriteServ(std::string(buffer)); } |