/** Generate a shun
*/
- XLine* Generate(time_t set_time, long duration, std::string source, std::string reason, std::string xline_specific_mask) CXX11_OVERRIDE
+ XLine* Generate(time_t set_time, unsigned long duration, const std::string& source, const std::string& reason, const std::string& xline_specific_mask) CXX11_OVERRIDE
{
return new Shun(set_time, duration, source, reason, xline_specific_mask);
}
std::string expr;
if (parameters.size() > 2)
{
- duration = InspIRCd::Duration(parameters[1]);
+ if (!InspIRCd::Duration(parameters[1], duration))
+ {
+ user->WriteNotice("*** Invalid duration for SHUN.");
+ return CMD_FAILURE;
+ }
expr = parameters[2];
}
else
else
{
delete r;
- user->WriteNotice("*** Shun for " + target + " already exists");
+ user->WriteNotice("*** Shun for " + target + " already exists.");
return CMD_FAILURE;
}
}
affectopers = tag->getBool("affectopers", false);
}
- ModResult OnPreCommand(std::string& command, CommandBase::Params& parameters, LocalUser* user, bool validated, const std::string& original_line) CXX11_OVERRIDE
+ ModResult OnPreCommand(std::string& command, CommandBase::Params& parameters, LocalUser* user, bool validated) CXX11_OVERRIDE
{
if (validated)
return MOD_RES_PASSTHRU;