summaryrefslogtreecommitdiff
path: root/src/modules/m_conn_umodes.cpp
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/m_conn_umodes.cpp
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/m_conn_umodes.cpp')
-rw-r--r--src/modules/m_conn_umodes.cpp20
1 files changed, 4 insertions, 16 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);