diff options
author | Attila Molnar <attilamolnar@hush.com> | 2014-09-03 14:09:03 +0200 |
---|---|---|
committer | Attila Molnar <attilamolnar@hush.com> | 2014-09-03 14:09:03 +0200 |
commit | f3e803f5b9d8478e1f4d490a2f59ba7fca10a6b9 (patch) | |
tree | 0c6b894cace5932c2e4ea8e124e210f021266665 | |
parent | 39bd7db53837fd5d2a0e4d2e9ca54e0f309a0d17 (diff) |
Populate a Modes::ChangeList object in ModeParser::Process()
-rw-r--r-- | include/mode.h | 4 | ||||
-rw-r--r-- | src/mode.cpp | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/include/mode.h b/include/mode.h index 596a7bcbe..981c29a27 100644 --- a/include/mode.h +++ b/include/mode.h @@ -535,6 +535,10 @@ class CoreExport ModeParser : public fakederef<ModeParser> */ std::multimap<std::string, ModeWatcher*> modewatchermap; + /** Last processed mode change + */ + Modes::ChangeList LastChangeList; + /** Displays the current modes of a channel or user. * Used by ModeParser::Process. */ diff --git a/src/mode.cpp b/src/mode.cpp index 4c31a94d7..b684af885 100644 --- a/src/mode.cpp +++ b/src/mode.cpp @@ -375,6 +375,7 @@ void ModeParser::Process(const std::vector<std::string>& parameters, User* user, LastParse.clear(); LastParseParams.clear(); LastParseTranslate.clear(); + LastChangeList.clear(); if ((!targetchannel) && ((!targetuser) || (IS_SERVER(targetuser)))) { @@ -474,6 +475,7 @@ void ModeParser::Process(const std::vector<std::string>& parameters, User* user, LastParseParams.push_back(parameter); LastParseTranslate.push_back(mh->GetTranslateType()); } + LastChangeList.push(mh, adding, parameter); if ((output_mode.length() + output_parameters.length() > 450) || (output_mode.length() > 100) |