diff options
author | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-05-28 15:22:31 +0000 |
---|---|---|
committer | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-05-28 15:22:31 +0000 |
commit | cdbf2526f79f0ec4e90395158011062b7a198bcf (patch) | |
tree | e487276a24baa1d9229a063d28f3885fab322638 | |
parent | 04e35b16d86dd0115b3bcd0749398ec957cf0700 (diff) |
Remove code for clientcount/servercount from /stats p. At the moment it was slow, hacky and doesn't totally work properly (bind 2 same ports on diff. ips and watch it get confused ;p). It may be added back in a few versions once we have the infrastructure in place to tie a list of clients to a port.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7174 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r-- | src/cmd_stats.cpp | 22 | ||||
-rw-r--r-- | src/modules/m_spanningtree/main.cpp | 22 |
2 files changed, 12 insertions, 32 deletions
diff --git a/src/cmd_stats.cpp b/src/cmd_stats.cpp index 5c047f89b..5a22a2b4c 100644 --- a/src/cmd_stats.cpp +++ b/src/cmd_stats.cpp @@ -61,24 +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<int,int> pc; - for (std::vector<userrec*>::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) - { - 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())+" (" + - ConvToStr(pc[ServerInstance->Config->ports[i]->GetPort()])+" client" + (pc[ServerInstance->Config->ports[i]->GetPort()] != 1 ? "s" : "") + "), "+ - ServerInstance->Config->ports[i]->GetDescription()); - } + 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; diff --git a/src/modules/m_spanningtree/main.cpp b/src/modules/m_spanningtree/main.cpp index bebb69012..9e188b49d 100644 --- a/src/modules/m_spanningtree/main.cpp +++ b/src/modules/m_spanningtree/main.cpp @@ -661,22 +661,12 @@ int ModuleSpanningTree::OnStats(char statschar, userrec* user, string_list &resu for (unsigned int i = 0; i < Utils->Bindings.size(); i++) { - /* - * XXX - todo: - * we need to remove duplicate ports from this list, and possibly also - * show the correct number of servers on the port. - * - * XXX also, this doesn't currently work, as something is not initialising ->port, so it's 0 all the time. - * - */ - if (Utils->Bindings[i]->port) - { - std::string ip = Utils->Bindings[i]->IP; - if (ip.empty()) - ip = "*"; - results.push_back(ConvToStr(ServerInstance->Config->ServerName) + " 249 "+user->nick+" :" + ip + ":" + ConvToStr(Utils->Bindings[i]->port)+" (X servers) "+ - ServerInstance->Config->ports[i]->GetDescription()); - } + std::string ip = Utils->Bindings[i]->IP; + if (ip.empty()) + ip = "*"; + + results.push_back(ConvToStr(ServerInstance->Config->ServerName) + " 249 "+user->nick+" :" + ip + ":" + ConvToStr(Utils->Bindings[i]->port)+ + " (server, " + ServerInstance->Config->ports[i]->GetDescription() + ")"); } } return 0; |