X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmode.cpp;h=66ce313f4006a34f9f44cc397a47728f885d0fef;hb=8d066e557eeabaea40634dec8d6f5cd4d39cfe60;hp=d24346e59f8d5e8601735cd06e7cbf5e330d1234;hpb=0140bc21056b4c7f6ede16cdbf0563b0af566dbf;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/mode.cpp b/src/mode.cpp index d24346e59..66ce313f4 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)))) { @@ -403,7 +404,7 @@ void ModeParser::Process(const std::vector& parameters, User* user, return; } - std::string mode_sequence = parameters[1]; + const std::string& mode_sequence = parameters[1]; std::string output_mode; std::string output_parameters; @@ -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) @@ -501,7 +503,7 @@ void ModeParser::Process(const std::vector& parameters, User* user, else targetuser->WriteFrom(user, "MODE " + LastParse); - FOREACH_MOD(OnMode, (user, targetuser, targetchannel, LastParseParams, LastParseTranslate)); + FOREACH_MOD(OnMode, (user, targetuser, targetchannel, LastChangeList, flags, output_mode)); } else if (targetchannel && parameters.size() == 2) { @@ -512,7 +514,7 @@ void ModeParser::Process(const std::vector& parameters, User* user, } } -void ModeParser::DisplayListModes(User* user, Channel* chan, std::string &mode_sequence) +void ModeParser::DisplayListModes(User* user, Channel* chan, const std::string& mode_sequence) { seq++;