]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/cmd_ison.cpp
INFO now looks much prettier than it did 5 seconds ago :o
[user/henk/code/inspircd.git] / src / cmd_ison.cpp
index 0cee160c7f8e39c657328c6b9601594b9ab9d934..4ca319afcd21a8a187518c867bbc382501fe58b2 100644 (file)
@@ -12,7 +12,6 @@
  */
 
 #include "inspircd.h"
-#include "users.h"
 #include "commands/cmd_ison.h"
 
 extern "C" DllExport command_t* init_command(InspIRCd* Instance)
@@ -36,6 +35,9 @@ CmdResult cmd_ison::Handle (const char** parameters, int pcnt, userrec *user)
 
                if (u)
                {
+                       if (u->Visibility && !u->Visibility->VisibleTo(user))
+                               continue;
+
                        reply.append(u->nick).append(" ");
                        if (reply.length() > 450)
                        {
@@ -51,8 +53,9 @@ CmdResult cmd_ison::Handle (const char** parameters, int pcnt, userrec *user)
                                /* Its a space seperated list of nicks (RFC1459 says to support this)
                                 */
                                irc::spacesepstream list(parameters[i]);
-                               std::string item("*");
-                               while (((item = list.GetToken()) != ""))
+                               std::string item;
+
+                               while (list.GetToken(item))
                                {
                                        u = ServerInstance->FindNick(item);
                                        if (ison_already.find(u) != ison_already.end())
@@ -73,8 +76,6 @@ CmdResult cmd_ison::Handle (const char** parameters, int pcnt, userrec *user)
                                        }
                                }
                        }
-                       /* There will only be one of these, we can bail after. */
-                       break;
                }
        }