]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/commands/cmd_whois.cpp
Make cmd_whowas act like a module, remove special handling
[user/henk/code/inspircd.git] / src / commands / cmd_whois.cpp
index 00a9b3409f7192e90eb03f7d2a3b5f27200cca93..3a07fce7b1a13d4fec3f9029d5e28eed966c4cf5 100644 (file)
@@ -64,7 +64,7 @@ CmdResult CommandWhois::Handle (const std::vector<std::string>& parameters, User
        else
                dest = ServerInstance->FindNick(parameters[userindex]);
 
-       if (dest)
+       if ((dest) && (dest->registered == REG_ALL))
        {
                /*
                 * Okay. Umpteenth attempt at doing this, so let's re-comment...
@@ -74,9 +74,10 @@ CmdResult CommandWhois::Handle (const std::vector<std::string>& parameters, User
                 * For remote users (/w remoteuser remoteuser), spanningtree will handle calling do_whois, so we can ignore this case.
                 * Thanks to djGrrr for not being impatient while I have a crap day coding. :p -- w00t
                 */
-               if (IS_LOCAL(dest) && (ServerInstance->Config->HideWhoisServer.empty() || parameters.size() > 1))
+               LocalUser* localuser = IS_LOCAL(dest);
+               if (localuser && (ServerInstance->Config->HideWhoisServer.empty() || parameters.size() > 1))
                {
-                       idle = abs((long)((dest->idle_lastmsg)-ServerInstance->Time()));
+                       idle = abs((long)((localuser->idle_lastmsg)-ServerInstance->Time()));
                        signon = dest->signon;
                }