]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Translate TR_NICK back from UID on mode parse
authordanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>
Sun, 13 Sep 2009 20:33:48 +0000 (20:33 +0000)
committerdanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>
Sun, 13 Sep 2009 20:33:48 +0000 (20:33 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11716 e03df62e-2008-0410-955e-edbf42e46eb7

src/mode.cpp

index 9c608c37a4285de0c10c2d36a389404b384b7f32..2089ad14082e736c5837eedd0257a36faa8a691b 100644 (file)
@@ -459,9 +459,16 @@ void ModeParser::Process(const std::vector<std::string>& parameters, User *user,
 
                if (pcnt)
                {
+                       TranslateType tt = mh->GetTranslateType();
+                       if (tt == TR_NICK)
+                       {
+                               User* u = ServerInstance->FindNick(parameter);
+                               if (u)
+                                       parameter = u->nick;
+                       }
                        output_parameters << " " << parameter;
                        LastParseParams.push_back(parameter);
-                       LastParseTranslate.push_back(mh->GetTranslateType());
+                       LastParseTranslate.push_back(tt);
                }
 
                if ( (output_mode.length() + output_parameters.str().length() > 450)