]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/commands/cmd_who.cpp
Fix /who on opers incorrectly showing +i opers to
[user/henk/code/inspircd.git] / src / commands / cmd_who.cpp
index c474abc3c8b2ea7c4662b3f24568181793553074..2b3242211e70fea664cbdeb74db06262837b634c 100644 (file)
@@ -251,7 +251,7 @@ CmdResult CommandWho::Handle (const std::vector<std::string>& parameters, User *
 
        Channel *ch = NULL;
        std::vector<std::string> whoresults;
-       std::string initial = "352 " + std::string(user->nick) + " ";
+       std::string initial = "352 " + user->nick + " ";
 
        char matchtext[MAXBUF];
        bool usingwildcards = false;
@@ -264,7 +264,7 @@ CmdResult CommandWho::Handle (const std::vector<std::string>& parameters, User *
 
        for (const char* check = matchtext; *check; check++)
        {
-               if (*check == '*' || *check == '?')
+               if (*check == '*' || *check == '?' || *check == '.')
                {
                        usingwildcards = true;
                        break;
@@ -368,7 +368,7 @@ CmdResult CommandWho::Handle (const std::vector<std::string>& parameters, User *
                                {
                                        if (!user->SharesChannelWith(oper))
                                        {
-                                               if (usingwildcards && (!oper->IsModeSet('i')) && (!user->HasPrivPermission("users/auspex")))
+                                               if (usingwildcards && (oper->IsModeSet('i')) && (!user->HasPrivPermission("users/auspex")))
                                                        continue;
                                        }