]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/cmd_whois.cpp
InspSocket -> BufferedSocket. Paves the way for a SimpleSocket class which ident...
[user/henk/code/inspircd.git] / src / cmd_whois.cpp
index a634e5967cbceead16490630bb7ce67ad7d6988f..f861dde36ca6969684a06784a58869cfdc6d94f6 100644 (file)
  */
 
 #include "inspircd.h"
-#include "configreader.h"
-#include "users.h"
-#include "modules.h"
 #include "commands/cmd_whois.h"
 #include "hashcomp.h"
 
-void do_whois(InspIRCd* ServerInstance, userrec* user, userrec* dest,unsigned long signon, unsigned long idle, const char* nick)
+void do_whois(InspIRCd* ServerInstance, User* user, User* dest,unsigned long signon, unsigned long idle, const char* nick)
 {
        if (dest->Visibility && !dest->Visibility->VisibleTo(user))
        {
@@ -89,14 +86,14 @@ void do_whois(InspIRCd* ServerInstance, userrec* user, userrec* dest,unsigned lo
 
 
 
-extern "C" command_t* init_command(InspIRCd* Instance)
+extern "C" DllExport Command* init_command(InspIRCd* Instance)
 {
        return new cmd_whois(Instance);
 }
 
-CmdResult cmd_whois::Handle (const char** parameters, int pcnt, userrec *user)
+CmdResult cmd_whois::Handle (const char** parameters, int pcnt, User *user)
 {
-       userrec *dest;
+       User *dest;
        int userindex = 0;
        unsigned long idle = 0, signon = 0;
 
@@ -111,7 +108,10 @@ CmdResult cmd_whois::Handle (const char** parameters, int pcnt, userrec *user)
        if (pcnt > 1)
                userindex = 1;
 
-       dest = ServerInstance->FindNick(parameters[userindex]);
+       if (IS_LOCAL(user))
+               dest = ServerInstance->FindNickOnly(parameters[userindex]);
+       else
+               dest = ServerInstance->FindNick(parameters[userindex]);
 
        if (dest)
        {