X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmode.cpp;h=8b0d886072bc634c8e058f4f0d463c6f97bfb26e;hb=9982ec4e5b027ed24b1fda5e6fd3ab35b98de1a7;hp=aa4d50b08ac21deee4c511cde8d75b2cb9b34dd9;hpb=49fef4ef75d9adb750661c79d317525b4717bb76;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/mode.cpp b/src/mode.cpp index aa4d50b08..8b0d88607 100644 --- a/src/mode.cpp +++ b/src/mode.cpp @@ -89,7 +89,10 @@ void ModeHandler::DisplayEmptyList(User*, Channel*) void ModeHandler::OnParameterMissing(User* user, User* dest, Channel* channel) { - const std::string message = InspIRCd::Format("You must specify a parameter for the %s mode", name.c_str()); + std::string message = InspIRCd::Format("You must specify a parameter for the %s mode.", name.c_str()); + if (!syntax.empty()) + message.append(InspIRCd::Format(" Syntax: %s.", syntax.c_str())); + if (channel) user->WriteNumeric(Numerics::InvalidModeParameter(channel, this, "*", message)); else @@ -171,6 +174,7 @@ PrefixMode::PrefixMode(Module* Creator, const std::string& Name, char ModeLetter , selfremove(true) { list = true; + syntax = ""; } ModResult PrefixMode::AccessCheck(User* src, Channel*, std::string& value, bool adding) @@ -245,9 +249,9 @@ ModeAction ModeParser::TryMode(User* user, User* targetuser, Channel* chan, Mode const bool needs_param = mh->NeedsParam(adding); std::string& parameter = mcitem.param; - // crop mode parameter size to 250 characters - if (parameter.length() > 250 && adding) - parameter.erase(250); + // crop mode parameter size to MODE_PARAM_MAX characters + if (parameter.length() > MODE_PARAM_MAX && adding) + parameter.erase(MODE_PARAM_MAX); ModResult MOD_RESULT; FIRST_MOD_RESULT(OnRawMode, MOD_RESULT, (user, chan, mh, parameter, adding));