]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/idle.cpp
Merge insp20
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / idle.cpp
index 679948a519fcff0a9a1397fa2a66a0bbb55d8f1a..06af4d0fd66805e74b5d3b48df54e3d6c1682442 100644 (file)
@@ -35,7 +35,7 @@ CmdResult CommandIdle::HandleRemote(RemoteUser* issuer, std::vector<std::string>
         */
 
        User* target = ServerInstance->FindUUID(params[0]);
-       if ((!target) || (IS_SERVER(target)))
+       if ((!target) || (IS_SERVER(target) || (target->registered != REG_ALL)))
                return CMD_FAILURE;
 
        LocalUser* localtarget = IS_LOCAL(target);
@@ -47,7 +47,7 @@ CmdResult CommandIdle::HandleRemote(RemoteUser* issuer, std::vector<std::string>
 
        if (params.size() >= 2)
        {
-               ServerInstance->Parser->CallHandler("WHOIS", params, issuer);
+               ServerInstance->Parser.CallHandler("WHOIS", params, issuer);
        }
        else
        {
@@ -59,11 +59,11 @@ CmdResult CommandIdle::HandleRemote(RemoteUser* issuer, std::vector<std::string>
                else
                        idle = ((unsigned int) (ServerInstance->Time() - localtarget->idle_lastmsg));
 
-               parameterlist reply;
+               CmdBuilder reply(params[0], "IDLE");
                reply.push_back(issuer->uuid);
                reply.push_back(ConvToStr(target->signon));
                reply.push_back(ConvToStr(idle));
-               Utils->DoOneToOne(params[0], "IDLE", reply, issuer->server);
+               reply.Unicast(issuer);
        }
 
        return CMD_SUCCESS;