]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Fix NOTICE $* to go between servers
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Tue, 25 Jul 2006 09:22:04 +0000 (09:22 +0000)
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Tue, 25 Jul 2006 09:22:04 +0000 (09:22 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4536 e03df62e-2008-0410-955e-edbf42e46eb7

src/modules/m_spanningtree.cpp

index 22c9e92461acb262156cff05da6f2b3806363209..14680efd6bbc23d9e3cdb1594abfc5cdb9b028b2 100644 (file)
@@ -2697,14 +2697,14 @@ bool DoOneToAllButSenderRaw(std::string data, std::string omit, std::string pref
        TreeServer* omitroute = BestRouteTo(omit);
        if ((command == "NOTICE") || (command == "PRIVMSG"))
        {
-               if ((params.size() >= 2) && (*(params[0].c_str()) != '$'))
+               if (params.size() >= 2)
                {
                        /* Prefixes */
                        if ((*(params[0].c_str()) == '@') || (*(params[0].c_str()) == '%') || (*(params[0].c_str()) == '+'))
                        {
                                params[0] = params[0].substr(1, params[0].length()-1);
                        }
-                       if (*(params[0].c_str()) != '#')
+                       if ((*(params[0].c_str()) != '#') && (*(params[0].c_str()) != '$'))
                        {
                                // special routing for private messages/notices
                                userrec* d = Srv->FindNick(params[0]);
@@ -2717,6 +2717,14 @@ bool DoOneToAllButSenderRaw(std::string data, std::string omit, std::string pref
                                        return true;
                                }
                        }
+                       else if (*(params[0].c_str()) == '$')
+                       {
+                               std::deque<std::string> par;
+                               par.push_back(params[0]);
+                               par.push_back(":"+params[1]);
+                               DoOneToAllButSender(prefix,command.c_str(),par,omitroute->GetName());
+                               return true;
+                       }
                        else
                        {
                                log(DEBUG,"Channel privmsg going to chan %s",params[0].c_str());