X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_remove.cpp;h=6f7c1c3695de65e3173eb59cb36c7abdf791e7ac;hb=551d687ec6d7ce44be35fae0dd7345fe73c4f63a;hp=ffb8f8e551f7ac0c11b792b17dc84a4580e460f6;hpb=01a1d67dd1406f99821c7c5f6e491373bbd96c74;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_remove.cpp b/src/modules/m_remove.cpp index ffb8f8e55..6f7c1c369 100644 --- a/src/modules/m_remove.cpp +++ b/src/modules/m_remove.cpp @@ -36,7 +36,6 @@ */ class RemoveBase : public Command { - private: bool& supportnokicks; public: @@ -69,9 +68,9 @@ class RemoveBase : public Command channel = ServerInstance->FindChan(channame); /* Fix by brain - someone needs to learn to validate their input! */ - if (!target || !channel) + if ((!target) || (target->registered != REG_ALL) || (!channel)) { - user->WriteNumeric(ERR_NOSUCHNICK, "%s %s :No such nick/channel", user->nick.c_str(), !target ? username.c_str() : channame.c_str()); + user->WriteNumeric(ERR_NOSUCHNICK, "%s %s :No such nick/channel", user->nick.c_str(), !channel ? channame.c_str() : username.c_str()); return CMD_FAILURE; } @@ -198,7 +197,6 @@ class ModuleRemove : public Module CommandFpart cmd2; bool supportnokicks; - public: ModuleRemove() : cmd1(this, supportnokicks), cmd2(this, supportnokicks) { @@ -213,9 +211,9 @@ class ModuleRemove : public Module ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation)); } - virtual void On005Numeric(std::string &output) + virtual void On005Numeric(std::map& tokens) { - output.append(" REMOVE"); + tokens["REMOVE"]; } virtual void OnRehash(User* user) @@ -223,15 +221,10 @@ class ModuleRemove : public Module supportnokicks = ServerInstance->Config->ConfValue("remove")->getBool("supportnokicks"); } - virtual ~ModuleRemove() - { - } - virtual Version GetVersion() { return Version("Provides a /remove command, this is mostly an alternative to /kick, except makes users appear to have parted the channel", VF_OPTCOMMON | VF_VENDOR); } - }; MODULE_INIT(ModuleRemove)