diff options
author | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-09-02 00:53:03 +0000 |
---|---|---|
committer | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-09-02 00:53:03 +0000 |
commit | 0377d937c5d1bf20fa0c29d4a41c7fd89502ab38 (patch) | |
tree | 4947668cb5670ced506dc3fb34e88e3f99b84734 /src/modules/m_spanningtree/override_map.cpp | |
parent | 8ca460a0e660f7ac6bae4dfdc88680876fd899f5 (diff) |
Remote user messaging fixes
Add format string output to DumpText
Fix PI->PushToClient prefixing issue
Fix ENCAP routing to use SID rather than server name
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11658 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_spanningtree/override_map.cpp')
-rw-r--r-- | src/modules/m_spanningtree/override_map.cpp | 38 |
1 files changed, 11 insertions, 27 deletions
diff --git a/src/modules/m_spanningtree/override_map.cpp b/src/modules/m_spanningtree/override_map.cpp index e3f103cc8..9a7f007e3 100644 --- a/src/modules/m_spanningtree/override_map.cpp +++ b/src/modules/m_spanningtree/override_map.cpp @@ -156,36 +156,20 @@ bool ModuleSpanningTree::HandleMap(const std::vector<std::string>& parameters, U float avg_users = totusers * 1.0 / totservers; - // dump the whole lot to the user. - if (IS_LOCAL(user)) + ServerInstance->Logs->Log("map",DEBUG,"local"); + for (int t = 0; t < line; t++) { - ServerInstance->Logs->Log("map",DEBUG,"local"); - for (int t = 0; t < line; t++) - { - // terminate the string at maxnamew characters - names[100 * t + maxnamew] = '\0'; - user->WriteNumeric(RPL_MAP, "%s :%s %s",user->nick.c_str(),names + 100 * t, stats + 50 * t); - } - user->WriteNumeric(RPL_MAPUSERS, "%s :%d server%s and %d user%s, average %.2f users per server",user->nick.c_str(),totservers,(totservers > 1 ? "s" : ""),totusers,(totusers > 1 ? "s" : ""),avg_users); - user->WriteNumeric(RPL_ENDMAP, "%s :End of /MAP",user->nick.c_str()); + // terminate the string at maxnamew characters + names[100 * t + maxnamew] = '\0'; + ServerInstance->DumpText(user, ":%s %d %s :%s %s", ServerInstance->Config->ServerName, + RPL_MAP, user->nick.c_str(), names + 100 * t, stats + 50 * t); } - else - { - ServerInstance->Logs->Log("map", DEBUG, "remote dump lines=%d", line); + ServerInstance->DumpText(user, ":%s %d %s :%d server%s and %d user%s, average %.2f users per server", + ServerInstance->Config->ServerName, RPL_MAPUSERS, user->nick.c_str(), + totservers, (totservers > 1 ? "s" : ""), totusers, (totusers > 1 ? "s" : ""), avg_users); + ServerInstance->DumpText(user, ":%s %d %s :End of /MAP", ServerInstance->Config->ServerName, + RPL_ENDMAP, user->nick.c_str()); - // XXX: annoying that we have to use hardcoded numerics here.. - for (int t = 0; t < line; t++) - { - // terminate the string at maxnamew characters - char* name = names + 100 * t; - char* stat = stats + 50 * t; - name[maxnamew] = '\0'; - ServerInstance->PI->PushToClient(user, std::string("::") + ServerInstance->Config->ServerName + " 006 " + user->nick + " :" + name + " " + stat); - } - - ServerInstance->PI->PushToClient(user, std::string("::") + ServerInstance->Config->ServerName + " 270 " + user->nick + " :" + ConvToStr(totservers) + " server"+(totservers > 1 ? "s" : "") + " and " + ConvToStr(totusers) + " user"+(totusers > 1 ? "s" : "") + ", average " + ConvToStr(avg_users) + " users per server"); - ServerInstance->PI->PushToClient(user, std::string("::") + ServerInstance->Config->ServerName + " 007 " + user->nick + " :End of /MAP"); - } delete[] names; delete[] stats; |