X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcmd_stats.cpp;h=40c0d4d7e81e9245ed7cd67704922a32e52c6fde;hb=72948525ec3ef03fe46553349c1892cafa5ac18c;hp=9f90f06c44c1330317c7b13144e7d23757743d7b;hpb=476e879097234ded77788a262eb1ef5fd981e6bb;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/cmd_stats.cpp b/src/cmd_stats.cpp index 9f90f06c4..40c0d4d7e 100644 --- a/src/cmd_stats.cpp +++ b/src/cmd_stats.cpp @@ -61,22 +61,14 @@ DllExport void DoStats(InspIRCd* ServerInstance, char statschar, userrec* user, /* stats p (show listening ports and registered clients on each) */ case 'p': { - std::map pc; - for (std::vector::const_iterator i = ServerInstance->local_users.begin(); i != ServerInstance->local_users.end(); i++) - { - userrec* t = (userrec*)(*i); - if (t->registered == REG_ALL) - pc[t->GetPort()]++; - } for (size_t i = 0; i < ServerInstance->Config->ports.size(); i++) { - if (pc[ServerInstance->Config->ports[i]->GetPort()] >= 0) - { - results.push_back(sn+" 249 "+user->nick+" :p:"+ConvToStr(ServerInstance->Config->ports[i]->GetPort())+" (" + - ConvToStr(pc[ServerInstance->Config->ports[i]->GetPort()])+" client" + (pc[ServerInstance->Config->ports[i]->GetPort()] != 1 ? "s" : "") + "), "+ - ServerInstance->Config->ports[i]->GetDescription()); - pc[ServerInstance->Config->ports[i]->GetPort()] = -1; - } + std::string ip = ServerInstance->Config->ports[i]->GetIP(); + if (ip.empty()) + ip = "*"; + + results.push_back(sn+" 249 "+user->nick+" :"+ ip + ":"+ConvToStr(ServerInstance->Config->ports[i]->GetPort())+" (client, " + + ServerInstance->Config->ports[i]->GetDescription() + ")"); } } break; @@ -186,7 +178,6 @@ DllExport void DoStats(InspIRCd* ServerInstance, char statschar, userrec* user, results.push_back(sn+" 249 "+user->nick+" :Commands(VECTOR) "+ConvToStr(ServerInstance->Parser->cmdlist.size())+" ("+ConvToStr(ServerInstance->Parser->cmdlist.size()*sizeof(command_t))+" bytes)"); #endif -#ifndef WIN32 if (!ServerInstance->Config->WhoWasGroupSize == 0 && !ServerInstance->Config->WhoWasMaxGroups == 0) { command_t* whowas_command = ServerInstance->Parser->GetHandler("WHOWAS"); @@ -198,13 +189,12 @@ DllExport void DoStats(InspIRCd* ServerInstance, char statschar, userrec* user, whowas_command->HandleInternal(WHOWAS_STATS, params); if (whowas_stats.GetExt("stats")) { - char* stats = NULL; + char* stats; whowas_stats.GetExt("stats", stats); results.push_back(sn+" 249 "+user->nick+" :"+ConvToStr(stats)); } } } -#endif results.push_back(sn+" 249 "+user->nick+" :MOTD(VECTOR) "+ConvToStr(ServerInstance->Config->MOTD.size())+", RULES(VECTOR) "+ConvToStr(ServerInstance->Config->RULES.size())); results.push_back(sn+" 249 "+user->nick+" :Modules(VECTOR) "+ConvToStr(ServerInstance->modules.size())+" ("+ConvToStr(ServerInstance->modules.size()*sizeof(Module))+" bytes)");