summaryrefslogtreecommitdiffstats
path: root/grammar/rainerscript.c
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2012-12-11 11:28:00 +0100
committerRainer Gerhards <rgerhards@adiscon.com>2012-12-11 11:28:00 +0100
commit39b75f728860597b26cd93bbc297ad9eac6fea1f (patch)
tree0e4d61d83153143d76ece737f1bc9dfe4285d462 /grammar/rainerscript.c
parent79e09b2bf8167e281beab0115ea280914f428919 (diff)
downloadrsyslog-39b75f728860597b26cd93bbc297ad9eac6fea1f.tar.gz
rsyslog-39b75f728860597b26cd93bbc297ad9eac6fea1f.tar.bz2
rsyslog-39b75f728860597b26cd93bbc297ad9eac6fea1f.zip
bugfix: optimizer stopped prematurely on some operations
Diffstat (limited to 'grammar/rainerscript.c')
-rw-r--r--grammar/rainerscript.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/grammar/rainerscript.c b/grammar/rainerscript.c
index 5d68d944..8284d87a 100644
--- a/grammar/rainerscript.c
+++ b/grammar/rainerscript.c
@@ -2543,6 +2543,17 @@ cnfexprOptimize(struct cnfexpr *expr)
expr = cnfexprOptimize_CMP_var(expr);
}
break;
+ case CMP_LE:
+ case CMP_GE:
+ case CMP_LT:
+ case CMP_GT:
+ case CMP_CONTAINS:
+ case CMP_CONTAINSI:
+ case CMP_STARTSWITH:
+ case CMP_STARTSWITHI:
+ expr->l = cnfexprOptimize(expr->l);
+ expr->r = cnfexprOptimize(expr->r);
+ break;
case AND:
case OR:/* keep recursion goin' on... */
expr->l = cnfexprOptimize(expr->l);