From 4bd22e7be8f83eefef904b775fb65d96899eb458 Mon Sep 17 00:00:00 2001 From: brain Date: Wed, 17 Oct 2007 20:28:45 +0000 Subject: UID translator broken with space or comma seperated lists (thanks danieldg) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8220 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/command_parse.cpp | 10 +++------- src/modules/m_spanningtree/main.cpp | 4 ++++ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/command_parse.cpp b/src/command_parse.cpp index e2130329b..f07a4ffd7 100644 --- a/src/command_parse.cpp +++ b/src/command_parse.cpp @@ -552,24 +552,20 @@ int CommandParser::TranslateUIDs(TranslateType to, const std::string &source, st User* user = NULL; std::string item; int translations = 0; + dest.clear(); switch (to) { case TR_NICK: /* Translate single nickname */ - ServerInstance->Log(DEBUG,"TR_NICK"); user = ServerInstance->FindNick(source); if (user) { - ServerInstance->Log(DEBUG,"Managed UUID"); dest = user->uuid; translations++; } else - { - ServerInstance->Log(DEBUG,"Had to use source.. (%s)", source.c_str()); dest = source; - } break; case TR_NICKLIST: { @@ -584,7 +580,7 @@ int CommandParser::TranslateUIDs(TranslateType to, const std::string &source, st translations++; } else - dest.append(source); + dest.append(item); dest.append(","); } if (!dest.empty()) @@ -604,7 +600,7 @@ int CommandParser::TranslateUIDs(TranslateType to, const std::string &source, st translations++; } else - dest.append(source); + dest.append(item); dest.append(" "); } if (!dest.empty()) diff --git a/src/modules/m_spanningtree/main.cpp b/src/modules/m_spanningtree/main.cpp index 2ccf510c7..c032c0278 100644 --- a/src/modules/m_spanningtree/main.cpp +++ b/src/modules/m_spanningtree/main.cpp @@ -823,8 +823,12 @@ void ModuleSpanningTree::OnMode(User* user, void* dest, int target_type, const s std::string command; std::string output_text; + ServerInstance->Log(DEBUG,"OnMode: %s", text.c_str()); + ServerInstance->Parser->TranslateUIDs(TR_SPACENICKLIST, text, output_text); + ServerInstance->Log(DEBUG,"Translated: %s", output_text.c_str()); + if (target_type == TYPE_USER) { User* u = (User*)dest; -- cgit v1.2.3