diff options
| author | 2013-05-26 23:23:47 +0200 | |
|---|---|---|
| committer | 2013-05-27 01:07:30 +0200 | |
| commit | 3406c7234ac15b6a2fc52afa770fb851da25c215 (patch) | |
| tree | a772480ea9d1d01f038ea4f7704630831ca35541 /src/mode.cpp | |
| parent | Deduplicate RemoveMode() implementations (diff) | |
| download | inspircd++-3406c7234ac15b6a2fc52afa770fb851da25c215.tar.gz inspircd++-3406c7234ac15b6a2fc52afa770fb851da25c215.tar.bz2 inspircd++-3406c7234ac15b6a2fc52afa770fb851da25c215.zip | |
Simplify user mode removal via ModeHandler::RemoveMode()
The function does not need to be virtual because the core can remove any user mode using the default logic
The optional modestack parameter was always NULL, so remove it
Diffstat (limited to 'src/mode.cpp')
| -rw-r--r-- | src/mode.cpp | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/src/mode.cpp b/src/mode.cpp index 3d0edb185..a9ac006ae 100644 --- a/src/mode.cpp +++ b/src/mode.cpp @@ -838,24 +838,16 @@ bool ModeParser::DelModeWatcher(ModeWatcher* mw) return true; } -/** This default implementation can remove simple user modes - */ -void ModeHandler::RemoveMode(User* user, irc::modestacker* stack) +void ModeHandler::RemoveMode(User* user) { + // Remove the mode if it's set on the user if (user->IsModeSet(this->GetModeChar())) { - if (stack) - { - stack->Push(this->GetModeChar()); - } - else - { - std::vector<std::string> parameters; - parameters.push_back(user->nick); - parameters.push_back("-"); - parameters[1].push_back(this->GetModeChar()); - ServerInstance->Modes->Process(parameters, ServerInstance->FakeClient); - } + std::vector<std::string> parameters; + parameters.push_back(user->nick); + parameters.push_back("-"); + parameters[1].push_back(this->GetModeChar()); + ServerInstance->Modes->Process(parameters, ServerInstance->FakeClient); } } |
