]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/idle.cpp
Only assign NewServices once the duplicate check is done.
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / idle.cpp
index 06af4d0fd66805e74b5d3b48df54e3d6c1682442..8e075e312f9a6e96d96c2884c9d04591cd853103 100644 (file)
@@ -1,7 +1,12 @@
 /*
  * InspIRCd -- Internet Relay Chat Daemon
  *
- *   Copyright (C) 2011 Adam <Adam@anope.org>
+ *   Copyright (C) 2018-2019 Sadie Powell <sadie@witchery.services>
+ *   Copyright (C) 2012-2015 Attila Molnar <attilamolnar@hush.com>
+ *   Copyright (C) 2012 Robby <robby@chatbelgie.be>
+ *   Copyright (C) 2009 Uli Schlachter <psychon@inspircd.org>
+ *   Copyright (C) 2009 Daniel De Graaf <danieldg@inspircd.org>
+ *   Copyright (C) 2008 Robin Burchell <robin+git@viroteck.net>
  *
  * This file is part of InspIRCd.  InspIRCd is free software: you can
  * redistribute it and/or modify it under the terms of the GNU General Public
@@ -21,7 +26,7 @@
 #include "utils.h"
 #include "commands.h"
 
-CmdResult CommandIdle::HandleRemote(RemoteUser* issuer, std::vector<std::string>& params)
+CmdResult CommandIdle::HandleRemote(RemoteUser* issuer, Params& params)
 {
        /**
         * There are two forms of IDLE: request and reply. Requests have one parameter,
@@ -35,7 +40,7 @@ CmdResult CommandIdle::HandleRemote(RemoteUser* issuer, std::vector<std::string>
         */
 
        User* target = ServerInstance->FindUUID(params[0]);
-       if ((!target) || (IS_SERVER(target) || (target->registered != REG_ALL)))
+       if ((!target) || (target->registered != REG_ALL))
                return CMD_FAILURE;
 
        LocalUser* localtarget = IS_LOCAL(target);
@@ -59,10 +64,10 @@ CmdResult CommandIdle::HandleRemote(RemoteUser* issuer, std::vector<std::string>
                else
                        idle = ((unsigned int) (ServerInstance->Time() - localtarget->idle_lastmsg));
 
-               CmdBuilder reply(params[0], "IDLE");
-               reply.push_back(issuer->uuid);
-               reply.push_back(ConvToStr(target->signon));
-               reply.push_back(ConvToStr(idle));
+               CmdBuilder reply(target, "IDLE");
+               reply.push(issuer->uuid);
+               reply.push(ConvToStr(target->signon));
+               reply.push(ConvToStr(idle));
                reply.Unicast(issuer);
        }