]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_remove.cpp
Use an oper priv instead of a config flag for overriding nonicks.
[user/henk/code/inspircd.git] / src / modules / m_remove.cpp
index 5872b59788fbbe421980b8e7307012cbfa771e87..0d816cc41187411885feec077c443fd97a97538c 100644 (file)
@@ -74,9 +74,14 @@ class RemoveBase : public Command
                channel = ServerInstance->FindChan(channame);
 
                /* Fix by brain - someone needs to learn to validate their input! */
-               if ((!target) || (target->registered != REG_ALL) || (!channel))
+               if (!channel)
                {
-                       user->WriteNumeric(Numerics::NoSuchNick(channel ? username.c_str() : channame.c_str()));
+                       user->WriteNumeric(Numerics::NoSuchChannel(channame));
+                       return CMD_FAILURE;
+               }
+               if ((!target) || (target->registered != REG_ALL))
+               {
+                       user->WriteNumeric(Numerics::NoSuchNick(username));
                        return CMD_FAILURE;
                }
 
@@ -164,7 +169,7 @@ class CommandRemove : public RemoveBase
                TRANSLATE3(TR_NICK, TR_TEXT, TR_TEXT);
        }
 
-       CmdResult Handle (const std::vector<std::string>& parameters, User *user)
+       CmdResult Handle(const std::vector<std::string>& parameters, User* user) CXX11_OVERRIDE
        {
                return HandleRMB(parameters, user, false);
        }
@@ -182,7 +187,7 @@ class CommandFpart : public RemoveBase
                TRANSLATE3(TR_TEXT, TR_NICK, TR_TEXT);
        }
 
-       CmdResult Handle (const std::vector<std::string>& parameters, User *user)
+       CmdResult Handle(const std::vector<std::string>& parameters, User* user) CXX11_OVERRIDE
        {
                return HandleRMB(parameters, user, true);
        }