X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcoremods%2Fcore_who.cpp;h=6f4bc088e604419e56f4c51f3228a4c2fcfe44b4;hb=cf2fd595e08ff181f062bb238aea646ed719d946;hp=523d857cedbb3f73c57e4bda3889a6a58eb71b00;hpb=66965131f834d14104ad618fd6d89bfd912cd120;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/coremods/core_who.cpp b/src/coremods/core_who.cpp index 523d857ce..6f4bc088e 100644 --- a/src/coremods/core_who.cpp +++ b/src/coremods/core_who.cpp @@ -220,7 +220,11 @@ void CommandWho::SendWhoLine(User* user, const std::vector& 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& parameters, User * if (opt_viewopersonly) { /* Showing only opers */ - for (std::list::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& 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; }