From aebf9460d9960ab10ae239faccfe00a0cebaec0f Mon Sep 17 00:00:00 2001 From: Naine Date: Wed, 17 Feb 2016 13:01:01 +1100 Subject: [PATCH] Fix negative matching/filtering Previously, the highlight function returned true immediately upon finding any match, without checking whether any negative matches should be preventing the match. --- push.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/push.cpp b/push.cpp index f2697bd..0cf9b51 100755 --- a/push.cpp +++ b/push.cpp @@ -880,6 +880,9 @@ class CPushMod : public CModule char prefix = value[0]; bool push = true; + bool matched = false; + bool negated = false; + if (prefix == '-') { push = false; @@ -904,11 +907,18 @@ class CPushMod : public CModule if (msg.WildCmp(value)) { - return push; + if (push) + { + matched = true; + } + else + { + negated = true; + } } } - return false; + return (matched && !negated); } /**