]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_userip.cpp
Optimize some behaviour in the core (#1476).
[user/henk/code/inspircd.git] / src / modules / m_userip.cpp
index f4e67d6bf7eba29264d538cd4c5107925c89536e..610177cb7f50cca5aee3f6a74515fe46eaeeb089 100644 (file)
@@ -28,19 +28,19 @@ class CommandUserip : public Command
  public:
        CommandUserip(Module* Creator) : Command(Creator,"USERIP", 1)
        {
-               syntax = "<nick>{,<nick>}";
+               syntax = "<nick> [<nick> ...]";
        }
 
-       CmdResult Handle (const std::vector<std::string> &parameters, User *user)
+       CmdResult Handle(const std::vector<std::string>& parameters, User* user) CXX11_OVERRIDE
        {
-               std::string retbuf = "340 " + user->nick + " :";
+               std::string retbuf;
                int nicks = 0;
                bool checked_privs = false;
                bool has_privs = false;
 
-               for (int i = 0; i < (int)parameters.size(); i++)
+               for (size_t i = 0; i < parameters.size(); i++)
                {
-                       User *u = ServerInstance->FindNick(parameters[i]);
+                       User *u = ServerInstance->FindNickOnly(parameters[i]);
                        if ((u) && (u->registered == REG_ALL))
                        {
                                // Anyone may query their own IP
@@ -52,7 +52,7 @@ class CommandUserip : public Command
                                                checked_privs = true;
                                                has_privs = user->HasPrivPermission("users/auspex");
                                                if (!has_privs)
-                                                       user->WriteNumeric(ERR_NOPRIVILEGES, ":Permission Denied - You do not have the required operator privileges");
+                                                       user->WriteNumeric(ERR_NOPRIVILEGES, "Permission Denied - You do not have the required operator privileges");
                                        }
 
                                        if (!has_privs)
@@ -70,7 +70,7 @@ class CommandUserip : public Command
                }
 
                if (nicks != 0)
-                       user->WriteServ(retbuf);
+                       user->WriteNumeric(RPL_USERIP, retbuf);
 
                return CMD_SUCCESS;
        }