Allow a $() in an alias to start a new command.

git-svn-id: http://voip.null.ro/svn/yate@4599 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
paulc 2011-09-14 09:50:15 +00:00
parent 172dfa58c3
commit ce2affe5bb
1 changed files with 8 additions and 1 deletions

View File

@ -1329,7 +1329,14 @@ bool Connection::processLine(const char *line, bool saveLine)
static const Regexp s_paramSep("^\\([^ ]*\\)\\? *\\([^ ]*\\)\\? *\\([^ ]*\\)\\? *\\([^ ]*\\)\\? *\\([^ ]*\\)\\? *\\([^ ]*\\)\\? *\\([^ ]*\\)\\? *\\([^ ]*\\)\\? *\\([^ ]*\\)\\? *\\([^ ]*\\)\\? *");
str.matches(s_paramSep);
str = str.replaceMatches(*cmd);
return processLine(str,false);
for (;;) {
sep = str.find("$()");
if (sep < 0)
return processLine(str,false);
if (processLine(str.substr(0,sep),false))
return true;
str = str.substr(sep+3);
}
}
Message m("engine.command");
m.addParam("line",str);