]> 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 86512417ce59d0089692e0fb957d6a9d6eb0870b..3145940be415d1452d3691ebbc69c40995406147 100644 (file)
@@ -59,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)
@@ -205,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;
@@ -283,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);
@@ -345,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;