summaryrefslogtreecommitdiffstats
path: root/grammar
diff options
context:
space:
mode:
authorPavel Levshin <pavel@levshin.spb.ru>2013-10-29 09:34:17 +0100
committerRainer Gerhards <rgerhards@adiscon.com>2013-10-29 09:34:17 +0100
commit0cd1b170ff91ee5002c9c9ea0b291f9189557bd1 (patch)
treedaffa7af9bf227a08a977415e1574ee3420605bd /grammar
parent17e1ee2539cea6bac16832b488afd52b20a348ac (diff)
downloadrsyslog-0cd1b170ff91ee5002c9c9ea0b291f9189557bd1.tar.gz
rsyslog-0cd1b170ff91ee5002c9c9ea0b291f9189557bd1.tar.bz2
rsyslog-0cd1b170ff91ee5002c9c9ea0b291f9189557bd1.zip
bugfix: abort if "if $syslogfacility-text..." was being used
Diffstat (limited to 'grammar')
-rw-r--r--grammar/rainerscript.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/grammar/rainerscript.c b/grammar/rainerscript.c
index 986d2802..b03e7c12 100644
--- a/grammar/rainerscript.c
+++ b/grammar/rainerscript.c
@@ -2926,12 +2926,15 @@ cnfexprOptimize(struct cnfexpr *expr)
expr->r = exprswap;
}
}
- if(expr->l->nodetype == 'V') {
- expr = cnfexprOptimize_CMP_var(expr);
- }
if(expr->r->nodetype == 'A') {
cnfexprOptimize_CMPEQ_arr((struct cnfarray *)expr->r);
}
+ /* This should be evaluated last because it may change expr
+ * to a function.
+ */
+ if(expr->l->nodetype == 'V') {
+ expr = cnfexprOptimize_CMP_var(expr);
+ }
break;
case CMP_LE:
case CMP_GE: