diff options
author | Adam <Adam@anope.org> | 2011-11-03 02:28:29 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2011-11-03 02:28:29 -0400 |
commit | ca33ac608d77229f651aea6566aee9847b9aac2e (patch) | |
tree | 01aa175b5a855dd834e788b23bab0407db052d4c /src | |
parent | 302989bed13ee11bca08d8f7997d03f44d492c8a (diff) |
Bug #1354 - Allow mode chars to be used for channel prefixs in services.conf
Diffstat (limited to 'src')
-rw-r--r-- | src/config.cpp | 4 | ||||
-rw-r--r-- | src/servers.cpp | 4 |
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); } |