Fix NOTICE $* to go between servers

git-svn-id: http://svn.inspircd.org/repository/branches/1_0_stable@4535 e03df62e-2008-0410-955e-edbf42e46eb7
This commit is contained in:
brain 2006-07-25 09:21:02 +00:00
parent d68c12225c
commit a0e8263b48

View File

@ -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());