diff options
author | Jeff Peeler <jpeeler@digium.com> | 2011-02-04 22:37:11 +0000 |
---|---|---|
committer | Jeff Peeler <jpeeler@digium.com> | 2011-02-04 22:37:11 +0000 |
commit | 3d667d7c0faf05e6452a7a1658bf64efa312abf9 (patch) | |
tree | bea81f8926b98c1216b1e6216f8a29236d8a49fe /main/manager.c | |
parent | a8aeb04a9f67082466ec4474d56d77be8947fffe (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.c | 5 |
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; } |