diff options
| author | 2006-07-25 09:21:02 +0000 | |
|---|---|---|
| committer | 2006-07-25 09:21:02 +0000 | |
| commit | a0e8263b48dcbb376338ad1b3b4672231acb511a (patch) | |
| tree | c8fc687a6c136fca74cbe9fb67396cebdab29fe6 /src/modules/m_spanningtree.cpp | |
| parent | Who forgot to increment this? (diff) | |
Fix NOTICE $* to go between servers
git-svn-id: http://svn.inspircd.org/repository/branches/1_0_stable@4535 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_spanningtree.cpp')
| -rw-r--r-- | src/modules/m_spanningtree.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/modules/m_spanningtree.cpp b/src/modules/m_spanningtree.cpp index a7449239d..b37d8f450 100644 --- a/src/modules/m_spanningtree.cpp +++ b/src/modules/m_spanningtree.cpp @@ -2696,14 +2696,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]); @@ -2716,6 +2716,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()); |
