diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2013-10-10 12:00:17 +0200 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2013-10-10 12:00:17 +0200 |
commit | a4d4bcacea476fb29c7fb99e837b81780805f2b5 (patch) | |
tree | 8deb457ee16786508a8c271e1fe8972c3a5a6faa | |
parent | c1992ed1ad8fe41788665c88ed94f3648dce3bdc (diff) | |
parent | 81e9afee45c669a0d5a29757cae70e6e224541be (diff) | |
download | rsyslog-a4d4bcacea476fb29c7fb99e837b81780805f2b5.tar.gz rsyslog-a4d4bcacea476fb29c7fb99e837b81780805f2b5.tar.bz2 rsyslog-a4d4bcacea476fb29c7fb99e837b81780805f2b5.zip |
Merge branch 'v7-stable'
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | grammar/rainerscript.c | 7 |
3 files changed, 9 insertions, 4 deletions
@@ -131,6 +131,10 @@ Version 7.4.5 [v7.4-stable] 2013-09-?? bugfix, that should be applied to the stable branch. closes: http://bugzilla.adiscon.com/show_bug.cgi?id=477 Thanks to Muri Cicanor for initiating the discussion +- now requires libestr 0.1.7 as early versions had a nasty bug in + string comparisons +- bugfix: array-based ==/!= comparisions lead to invalid results + This was a regression introduced in 7.3.5 bei the PRI optimizer - bugfix: omprog blocked signals to executed programs The made it impossible to send signals to programs executed via omprog. diff --git a/configure.ac b/configure.ac index 08b241c5..6e10a3b3 100644 --- a/configure.ac +++ b/configure.ac @@ -32,7 +32,7 @@ AC_CANONICAL_HOST PKG_PROG_PKG_CONFIG # modules we require -PKG_CHECK_MODULES(LIBESTR, libestr >= 0.1.5) +PKG_CHECK_MODULES(LIBESTR, libestr >= 0.1.7) PKG_CHECK_MODULES([JSON_C], [json],, [ PKG_CHECK_MODULES([JSON_C], [json-c]) ]) diff --git a/grammar/rainerscript.c b/grammar/rainerscript.c index 2b8d600d..f4833679 100644 --- a/grammar/rainerscript.c +++ b/grammar/rainerscript.c @@ -2779,7 +2779,7 @@ cnfexprOptimize_CMP_var(struct cnfexpr *expr) parser_errmsg("invalid facility '%s', expression will always " "evaluate to FALSE", cstr); } else { - /* we can acutally optimize! */ + /* we can actually optimize! */ DBGPRINTF("optimizer: change comparison OP to FUNC prifilt()\n"); func = cnffuncNew_prifilt(fac); if(expr->nodetype == CMP_NE) @@ -2858,7 +2858,7 @@ cnfexprOptimize_AND_OR(struct cnfexpr *expr) static inline void cnfexprOptimize_CMPEQ_arr(struct cnfarray *arr) { - DBGPRINTF("optimizer: sorting array for CMP_EQ/NEQ comparison\n"); + DBGPRINTF("optimizer: sorting array of %d members for CMP_EQ/NEQ comparison\n", arr->nmemb); qsort(arr->arr, arr->nmemb, sizeof(es_str_t*), qs_arrcmp); } @@ -2922,7 +2922,8 @@ cnfexprOptimize(struct cnfexpr *expr) } if(expr->l->nodetype == 'V') { expr = cnfexprOptimize_CMP_var(expr); - } else if(expr->r->nodetype == 'A') { + } + if(expr->r->nodetype == 'A') { cnfexprOptimize_CMPEQ_arr((struct cnfarray *)expr->r); } break; |