summaryrefslogtreecommitdiff
path: root/main/manager.c
diff options
context:
space:
mode:
authorJeff Peeler <jpeeler@digium.com>2011-02-04 22:37:11 +0000
committerJeff Peeler <jpeeler@digium.com>2011-02-04 22:37:11 +0000
commit3d667d7c0faf05e6452a7a1658bf64efa312abf9 (patch)
treebea81f8926b98c1216b1e6216f8a29236d8a49fe /main/manager.c
parenta8aeb04a9f67082466ec4474d56d77be8947fffe (diff)
Send manager event for blackfilter only if it DOES NOT match.
The logic got reversed, oops. Works properly now when multiple blackfilters are present. (closes issue #18283) Reported by: telecos82 Patches: ast_managereventfilter.patch uploaded by telecos82 (license 687) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@306432 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/manager.c')
-rw-r--r--main/manager.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/main/manager.c b/main/manager.c
index 8efc11d71..599dbca6d 100644
--- a/main/manager.c
+++ b/main/manager.c
@@ -4069,11 +4069,12 @@ static int blackfilter_cmp_fn(void *obj, void *arg, void *data, int flags)
const char *eventdata = arg;
int *result = data;
- if (regexec(regex_filter, eventdata, 0, NULL, 0)) {
- *result = 1;
+ if (!regexec(regex_filter, eventdata, 0, NULL, 0)) {
+ *result = 0;
return (CMP_MATCH | CMP_STOP);
}
+ *result = 1;
return 0;
}