]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/commands/cmd_stats.cpp
Reduce User* -> Membership* lookups on part and kick
[user/henk/code/inspircd.git] / src / commands / cmd_stats.cpp
index c37b041a95308ddcacf414c53bb0183abad83145..3145940be415d1452d3691ebbc69c40995406147 100644 (file)
@@ -21,7 +21,6 @@
 
 #include "inspircd.h"
 #include "xline.h"
-#include "commands/cmd_whowas.h"
 
 #ifdef _WIN32
 #include <psapi.h>
@@ -60,7 +59,7 @@ void CommandStats::DoStats(char statschar, User* user, string_list &results)
        std::string sn(ServerInstance->Config->ServerName);
 
        bool isPublic = ServerInstance->Config->UserStats.find(statschar) != std::string::npos;
-       bool isRemoteOper = IS_REMOTE(user) && IS_OPER(user);
+       bool isRemoteOper = IS_REMOTE(user) && (user->IsOper());
        bool isLocalOperWithPrivs = IS_LOCAL(user) && user->HasPrivPermission("servers/auspex");
 
        if (!isPublic && !isRemoteOper && !isLocalOperWithPrivs)
@@ -206,7 +205,7 @@ void CommandStats::DoStats(char statschar, User* user, string_list &results)
                                if (i->second->use_count)
                                {
                                        /* RPL_STATSCOMMANDS */
-                                       results.push_back(sn+" 212 "+user->nick+" "+i->second->name+" "+ConvToStr(i->second->use_count)+" "+ConvToStr(i->second->total_bytes));
+                                       results.push_back(sn+" 212 "+user->nick+" "+i->second->name+" "+ConvToStr(i->second->use_count));
                                }
                        }
                break;
@@ -218,18 +217,6 @@ void CommandStats::DoStats(char statschar, User* user, string_list &results)
                        results.push_back(sn+" 249 "+user->nick+" :Channels: "+ConvToStr(ServerInstance->chanlist->size()));
                        results.push_back(sn+" 249 "+user->nick+" :Commands: "+ConvToStr(ServerInstance->Parser->cmdlist.size()));
 
-                       if (!ServerInstance->Config->WhoWasGroupSize == 0 && !ServerInstance->Config->WhoWasMaxGroups == 0)
-                       {
-                               Module* whowas = ServerInstance->Modules->Find("cmd_whowas.so");
-                               if (whowas)
-                               {
-                                       WhowasRequest req(NULL, whowas, WhowasRequest::WHOWAS_STATS);
-                                       req.user = user;
-                                       req.Send();
-                                       results.push_back(sn+" 249 "+user->nick+" :"+req.value);
-                               }
-                       }
-
                        float kbitpersec_in, kbitpersec_out, kbitpersec_total;
                        char kbitpersec_in_s[30], kbitpersec_out_s[30], kbitpersec_total_s[30];
 
@@ -296,7 +283,7 @@ void CommandStats::DoStats(char statschar, User* user, string_list &results)
                                double n_eaten = (double)( ( (uint64_t)(KernelTime.dwHighDateTime - ServerInstance->stats->LastCPU.dwHighDateTime) << 32 ) + (uint64_t)(KernelTime.dwLowDateTime - ServerInstance->stats->LastCPU.dwLowDateTime) )/100000;
                                double n_elapsed = (double)(ThisSample.QuadPart - ServerInstance->stats->LastSampled.QuadPart) / ServerInstance->stats->QPFrequency.QuadPart;
                                double per = (n_eaten/n_elapsed);
-                               
+
                                char percent[30];
 
                                snprintf(percent, 30, "%03.5f%%", per);
@@ -358,7 +345,7 @@ void CommandStats::DoStats(char statschar, User* user, string_list &results)
                                        if (mh && mh->NeedsOper() && tag->AllowedChanModes[c - 'A'])
                                                cmodes.push_back(c);
                                }
-                               results.push_back(sn+" 243 "+user->nick+" O "+tag->NameStr() + " " + umodes + " " + cmodes);
+                               results.push_back(sn+" 243 "+user->nick+" O "+tag->name.c_str() + " " + umodes + " " + cmodes);
                        }
                }
                break;