summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/config.cpp4
-rw-r--r--src/servers.cpp4
2 files changed, 6 insertions, 2 deletions
diff --git a/src/config.cpp b/src/config.cpp
index bbfb6890d..b6fd37b57 100644
--- a/src/config.cpp
+++ b/src/config.cpp
@@ -972,7 +972,9 @@ static bool DoServices(ServerConfig *config, const Anope::string &, const Anope:
/* Set the new modes */
for (unsigned j = 0; j < want_modes.length(); ++j)
{
- ChannelMode *cm = ModeManager::FindChannelModeByChar(ModeManager::GetStatusChar(want_modes[j]));
+ ChannelMode *cm = ModeManager::FindChannelModeByChar(want_modes[j]);
+ if (cm == NULL)
+ cm = ModeManager::FindChannelModeByChar(ModeManager::GetStatusChar(want_modes[j]));
if (cm && cm->Type == MODE_STATUS)
c->SetMode(bi, cm, bi->nick);
}
diff --git a/src/servers.cpp b/src/servers.cpp
index 835d1595b..582fb6908 100644
--- a/src/servers.cpp
+++ b/src/servers.cpp
@@ -70,7 +70,9 @@ Server::Server(Server *uplink, const Anope::string &name, unsigned hops, const A
Anope::string want_modes = bi->botchannels[i].substr(0, h);
for (unsigned j = 0; j < want_modes.length(); ++j)
{
- ChannelMode *cm = ModeManager::FindChannelModeByChar(ModeManager::GetStatusChar(want_modes[j]));
+ ChannelMode *cm = ModeManager::FindChannelModeByChar(want_modes[j]);
+ if (cm == NULL)
+ cm = ModeManager::FindChannelModeByChar(ModeManager::GetStatusChar(want_modes[j]));
if (cm && cm->Type == MODE_STATUS)
c->SetModeInternal(cm, bi->nick);
}