X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_clones.cpp;h=b3e695bfde0c3c224a4d17ddb63cc825da6e127b;hb=f471083cd0519d47c7c7a09029813ede41994f7b;hp=1f505e9a21dbc4d3a0e7b1463e174ea879cce298;hpb=e244cb2c63b1ac1d85bdbb4691f7b1bd940ae804;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_clones.cpp b/src/modules/m_clones.cpp index 1f505e9a2..b3e695bfd 100644 --- a/src/modules/m_clones.cpp +++ b/src/modules/m_clones.cpp @@ -34,7 +34,7 @@ class CommandClones : public Command CmdResult Handle (const std::vector ¶meters, User *user) { - std::string clonesstr = "304 " + user->nick + " :CLONES"; + std::string clonesstr = "CLONES "; unsigned long limit = atoi(parameters[0].c_str()); @@ -45,17 +45,18 @@ class CommandClones : public Command * :server.name 304 target :CLONES END */ - user->WriteServ(clonesstr + " START"); + user->WriteNumeric(304, clonesstr + "START"); /* hostname or other */ - // XXX I really don't like marking global_clones public for this. at all. -- w00t - for (clonemap::iterator x = ServerInstance->Users->global_clones.begin(); x != ServerInstance->Users->global_clones.end(); x++) + const UserManager::CloneMap& clonemap = ServerInstance->Users->GetCloneMap(); + for (UserManager::CloneMap::const_iterator i = clonemap.begin(); i != clonemap.end(); ++i) { - if (x->second >= limit) - user->WriteServ(clonesstr + " "+ ConvToStr(x->second) + " " + x->first.str()); + const UserManager::CloneCounts& counts = i->second; + if (counts.global >= limit) + user->WriteNumeric(304, clonesstr + ConvToStr(counts.global) + " " + i->first.str()); } - user->WriteServ(clonesstr + " END"); + user->WriteNumeric(304, clonesstr + "END"); return CMD_SUCCESS; }