From 3406c7234ac15b6a2fc52afa770fb851da25c215 Mon Sep 17 00:00:00 2001 From: attilamolnar Date: Sun, 26 May 2013 23:23:47 +0200 Subject: 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 --- src/mode.cpp | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) (limited to 'src/mode.cpp') 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 parameters; - parameters.push_back(user->nick); - parameters.push_back("-"); - parameters[1].push_back(this->GetModeChar()); - ServerInstance->Modes->Process(parameters, ServerInstance->FakeClient); - } + std::vector parameters; + parameters.push_back(user->nick); + parameters.push_back("-"); + parameters[1].push_back(this->GetModeChar()); + ServerInstance->Modes->Process(parameters, ServerInstance->FakeClient); } } -- cgit v1.3.1-10-gc9f91