summaryrefslogtreecommitdiffstats
path: root/maildrop/recipeparse.C
diff options
context:
space:
mode:
authorSam Varshavchik2017-07-23 23:16:48 -0400
committerSam Varshavchik2017-07-23 23:16:48 -0400
commit4238d38f75d45793521a3b49ba421413d2b53a21 (patch)
tree241d230890014f5e69ae4738cdf0f520dafc1992 /maildrop/recipeparse.C
parentde2a130974e1a76daa1893e18442154c7fc90321 (diff)
downloadcourier-libs-4238d38f75d45793521a3b49ba421413d2b53a21.tar.bz2
maildrop: add the "system" command.
Diffstat (limited to 'maildrop/recipeparse.C')
-rw-r--r--maildrop/recipeparse.C8
1 files changed, 8 insertions, 0 deletions
diff --git a/maildrop/recipeparse.C b/maildrop/recipeparse.C
index f43cc1b..6a83042 100644
--- a/maildrop/recipeparse.C
+++ b/maildrop/recipeparse.C
@@ -173,6 +173,14 @@ RecipeNode *n, *o;
throw "Syntax error.";
lex->token(cur_tok);
return (n);
+ case Token::tokensystem:
+ lex->token(cur_tok);
+ n=alloc(RecipeNode::system);
+ n->AppendSibling( ParseExpr());
+ if (cur_tok.Type() != Token::semicolon)
+ throw "Syntax error.";
+ lex->token(cur_tok);
+ return (n);
case Token::dotlock:
lex->token(cur_tok);
n=alloc(RecipeNode::dotlock);