diff options
Diffstat (limited to 'src/modules')
-rw-r--r-- | src/modules/m_spanningtree.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/modules/m_spanningtree.cpp b/src/modules/m_spanningtree.cpp index 24997b939..bb97d2b05 100644 --- a/src/modules/m_spanningtree.cpp +++ b/src/modules/m_spanningtree.cpp @@ -2958,19 +2958,21 @@ class ModuleSpanningTree : public Module void HandleLusers(char** parameters, int pcnt, userrec* user) { + unsigned int n_users = usercnt(); + /* Only update these when someone wants to see them, more efficient */ if ((unsigned int)local_count() > max_local) max_local = local_count(); - if (clientlist.size() > max_global) - max_global = clientlist.size(); + if (n_users > max_global) + max_global = n_users; - WriteServ(user->fd,"251 %s :There are %d users and %d invisible on %d servers",user->nick,usercnt()-usercount_invisible(),usercount_invisible(),this->CountServs()); + WriteServ(user->fd,"251 %s :There are %d users and %d invisible on %d servers",user->nick,n_users-usercount_invisible(),usercount_invisible(),this->CountServs()); WriteServ(user->fd,"252 %s %d :operator(s) online",user->nick,usercount_opers()); WriteServ(user->fd,"253 %s %d :unknown connections",user->nick,usercount_unknown()); WriteServ(user->fd,"254 %s %d :channels formed",user->nick,chancount()); WriteServ(user->fd,"254 %s :I have %d clients and %d servers",user->nick,local_count(),this->CountLocalServs()); WriteServ(user->fd,"265 %s :Current Local Users: %d Max: %d",user->nick,local_count(),max_local); - WriteServ(user->fd,"266 %s :Current Global Users: %d Max: %d",user->nick,usercnt(),max_global); + WriteServ(user->fd,"266 %s :Current Global Users: %d Max: %d",user->nick,n_users,max_global); return; } |