diff options
| author | 2010-02-20 15:53:41 -0600 | |
|---|---|---|
| committer | 2010-08-03 17:32:36 -0400 | |
| commit | 34f5572364754af2d9287564df4277fb3dd691f2 (patch) | |
| tree | ad482c5940988f2c527d56efa13bb686a0d17463 /src/channels.cpp | |
| parent | Remove dead code (diff) | |
Force granted prefixes like +o to be specified in <options:defaultmodes>
Diffstat (limited to 'src/channels.cpp')
| -rw-r--r-- | src/channels.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/channels.cpp b/src/channels.cpp index 439d609f6..ac54b1aed 100644 --- a/src/channels.cpp +++ b/src/channels.cpp @@ -194,6 +194,8 @@ void Channel::SetDefaultModes() ModeHandler* mode = ServerInstance->Modes->FindMode(*n, MODETYPE_CHANNEL); if (mode) { + if (mode->GetPrefixRank()) + continue; if (mode->GetNumParams(true)) list.GetToken(parameter); else @@ -263,7 +265,7 @@ Channel* Channel::JoinUser(User *user, const char* cn, bool override, const char } else { - privs = "o"; + privs = ServerInstance->Config->DefaultModes.substr(0, ServerInstance->Config->DefaultModes.find(' ')); created_by_local = true; } @@ -371,7 +373,7 @@ Channel* Channel::ForceChan(Channel* Ptr, User* user, const std::string &privs, { const char status = *x; ModeHandler* mh = ServerInstance->Modes->FindMode(status, MODETYPE_CHANNEL); - if (mh) + if (mh && mh->GetPrefixRank()) { /* Set, and make sure that the mode handler knows this mode was now set */ Ptr->SetPrefix(user, mh->GetModeChar(), true); |
