summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/commands/cmd_list.cpp2
-rw-r--r--src/modules/m_safelist.cpp2
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));
}