summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorattilamolnar <attilamolnar@hush.com>2013-08-04 19:13:52 +0200
committerattilamolnar <attilamolnar@hush.com>2013-08-04 19:13:52 +0200
commit30935599479bd102db16842a8bc614d905a2ec60 (patch)
tree87ea9f49f2129d206448e9b4a8c59539340cbe3b /src/modules
parent8a4744f8db277bdfbcb4b9d44e3cf57f233c9dd6 (diff)
Call ModeParser::Process() directly instead of going through the CommandParser
Simplify the way how m_conn_umodes assembles the modes it sets
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/m_conn_umodes.cpp20
-rw-r--r--src/modules/m_samode.cpp2
-rw-r--r--src/modules/m_timedbans.cpp6
3 files changed, 8 insertions, 20 deletions
diff --git a/src/modules/m_conn_umodes.cpp b/src/modules/m_conn_umodes.cpp
index bae9317d5..1e3ea1a49 100644
--- a/src/modules/m_conn_umodes.cpp
+++ b/src/modules/m_conn_umodes.cpp
@@ -51,26 +51,14 @@ class ModuleModesOnConnect : public Module
std::string buf;
std::stringstream ss(ThisModes);
- std::vector<std::string> tokens;
-
- // split ThisUserModes into modes and mode params
- while (ss >> buf)
- tokens.push_back(buf);
-
std::vector<std::string> modes;
modes.push_back(user->nick);
- modes.push_back(tokens[0]);
- if (tokens.size() > 1)
- {
- // process mode params
- for (unsigned int k = 1; k < tokens.size(); k++)
- {
- modes.push_back(tokens[k]);
- }
- }
+ // split ThisUserModes into modes and mode params
+ while (ss >> buf)
+ modes.push_back(buf);
- ServerInstance->Parser->CallHandler("MODE", modes, user);
+ ServerInstance->Modes->Process(modes, user);
}
memcpy(ServerInstance->Config->DisabledUModes, save, 64);
diff --git a/src/modules/m_samode.cpp b/src/modules/m_samode.cpp
index cd0417aba..a549f89a7 100644
--- a/src/modules/m_samode.cpp
+++ b/src/modules/m_samode.cpp
@@ -44,7 +44,7 @@ class CommandSamode : public Command
return CMD_FAILURE;
}
this->active = true;
- ServerInstance->Parser->CallHandler("MODE", parameters, user);
+ ServerInstance->Modes->Process(parameters, user);
if (ServerInstance->Modes->GetLastParse().length())
ServerInstance->SNO->WriteGlobalSno('a', user->nick + " used SAMODE: " +ServerInstance->Modes->GetLastParse());
this->active = false;
diff --git a/src/modules/m_timedbans.cpp b/src/modules/m_timedbans.cpp
index afb042da0..29691b338 100644
--- a/src/modules/m_timedbans.cpp
+++ b/src/modules/m_timedbans.cpp
@@ -79,9 +79,9 @@ class CommandTban : public Command
mask.append("!*@*");
setban.push_back(mask);
- // use CallHandler to make it so that the user sets the mode
- // themselves
- ServerInstance->Parser->CallHandler("MODE",setban,user);
+ // Pass the user (instead of ServerInstance->FakeClient) to ModeHandler::Process() to
+ // make it so that the user sets the mode themselves
+ ServerInstance->Modes->Process(setban, user);
if (ServerInstance->Modes->GetLastParse().empty())
{
user->WriteNotice("Invalid ban mask");