From: Attila Molnar Date: Wed, 3 Sep 2014 12:09:03 +0000 (+0200) Subject: Populate a Modes::ChangeList object in ModeParser::Process() X-Git-Url: https://git.netwichtig.de/gitweb/?a=commitdiff_plain;h=f3e803f5b9d8478e1f4d490a2f59ba7fca10a6b9;p=user%2Fhenk%2Fcode%2Finspircd.git Populate a Modes::ChangeList object in ModeParser::Process() --- 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 */ std::multimap 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& 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& 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)