]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/usermanager.cpp
Remove mode counter, not reliable and only used for umode +i
[user/henk/code/inspircd.git] / src / usermanager.cpp
index 1e3e9fa72ef35e1f6a19d86b4ecc1fc9437501b6..afabf40470bc7fe8f9c4212340dd3e50fc2df71c 100644 (file)
@@ -392,10 +392,12 @@ void UserManager::ServerPrivmsgAll(const char* text, ...)
 /* return how many users have a given mode e.g. 'a' */
 int UserManager::ModeCount(const char mode)
 {
-       ModeHandler* mh = ServerInstance->Modes->FindMode(mode, MODETYPE_USER);
-
-       if (mh)
-               return mh->GetCount();
-       else
-               return 0;
+       int c = 0;
+       for(user_hash::iterator i = clientlist->begin(); i != clientlist->end(); ++i)
+       {
+               User* u = i->second;
+               if (u->modes[mode-65])
+                       c++;
+       }
+       return c;
 }