summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-10-17 20:28:45 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-10-17 20:28:45 +0000
commit4bd22e7be8f83eefef904b775fb65d96899eb458 (patch)
tree8aa0636a0157155c0277c5c7caacca59d6a2b4c2
parentdb0a845b46587579f4839c678aeac23aed8a490e (diff)
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
-rw-r--r--src/command_parse.cpp10
-rw-r--r--src/modules/m_spanningtree/main.cpp4
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;