]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/override_whois.cpp
Convert WriteNumeric() calls to pass the parameters of the numeric as method parameters
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / override_whois.cpp
index 45a7399bfe1b27f2b698bd68b5cdbfa0fdca58b3..7f718985436c5ff5af1b3e06da01f811cf5948c2 100644 (file)
 #include "inspircd.h"
 
 #include "main.h"
-#include "utils.h"
-
-/* $ModDep: m_spanningtree/main.h m_spanningtree/utils.h */
+#include "commandbuilder.h"
 
 ModResult ModuleSpanningTree::HandleRemoteWhois(const std::vector<std::string>& parameters, User* user)
 {
-       if ((IS_LOCAL(user)) && (parameters.size() > 1))
+       User* remote = ServerInstance->FindNickOnly(parameters[1]);
+       if (remote && !IS_LOCAL(remote))
+       {
+               CmdBuilder(user, "IDLE").push(remote->uuid).Unicast(remote);
+               return MOD_RES_DENY;
+       }
+       else if (!remote)
        {
-               User* remote = ServerInstance->FindNickOnly(parameters[1]);
-               if (remote && !IS_LOCAL(remote))
-               {
-                       parameterlist params;
-                       params.push_back(remote->uuid);
-                       Utils->DoOneToOne(user->uuid,"IDLE",params,remote->server);
-                       return MOD_RES_DENY;
-               }
-               else if (!remote)
-               {
-                       user->WriteNumeric(401, "%s %s :No such nick/channel",user->nick.c_str(), parameters[1].c_str());
-                       user->WriteNumeric(318, "%s %s :End of /WHOIS list.",user->nick.c_str(), parameters[1].c_str());
-                       return MOD_RES_DENY;
-               }
+               user->WriteNumeric(Numerics::NoSuchNick(parameters[0]));
+               user->WriteNumeric(RPL_ENDOFWHOIS, parameters[0], "End of /WHOIS list.");
+               return MOD_RES_DENY;
        }
        return MOD_RES_PASSTHRU;
 }
-