]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/coremods/core_who.cpp
core_whowas Switch from map to a hash map and from irc::string to std::string
[user/henk/code/inspircd.git] / src / coremods / core_who.cpp
index 523d857cedbb3f73c57e4bda3889a6a58eb71b00..6f4bc088e604419e56f4c51f3228a4c2fcfe44b4 100644 (file)
@@ -220,7 +220,11 @@ void CommandWho::SendWhoLine(User* user, const std::vector<std::string>& parms,
        }
 
        if (memb)
-               wholine.push_back(memb->GetPrefixChar());
+       {
+               char prefix = memb->GetPrefixChar();
+               if (prefix)
+                       wholine.push_back(prefix);
+       }
 
        wholine.append(" :0 " + u->fullname);
 
@@ -347,7 +351,8 @@ CmdResult CommandWho::Handle (const std::vector<std::string>& parameters, User *
                if (opt_viewopersonly)
                {
                        /* Showing only opers */
-                       for (std::list<User*>::iterator i = ServerInstance->Users->all_opers.begin(); i != ServerInstance->Users->all_opers.end(); i++)
+                       const UserManager::OperList& opers = ServerInstance->Users->all_opers;
+                       for (UserManager::OperList::const_iterator i = opers.begin(); i != opers.end(); ++i)
                        {
                                User* oper = *i;
 
@@ -355,7 +360,7 @@ CmdResult CommandWho::Handle (const std::vector<std::string>& parameters, User *
                                {
                                        if (!user->SharesChannelWith(oper))
                                        {
-                                               if (usingwildcards && (!oper->IsModeSet(invisiblemode)) && (!user->HasPrivPermission("users/auspex")))
+                                               if (usingwildcards && (oper->IsModeSet(invisiblemode)) && (!user->HasPrivPermission("users/auspex")))
                                                        continue;
                                        }