Merge pull request #190 from Naine/master

Fix negative matching/filtering
This commit is contained in:
John Reese 2016-02-18 19:10:34 -08:00
commit edfde596f0
1 changed files with 14 additions and 4 deletions

View File

@ -878,11 +878,14 @@ class CPushMod : public CModule
{ {
CString value = i->AsLower(); CString value = i->AsLower();
char prefix = value[0]; char prefix = value[0];
bool push = true; bool negate_match = false;
bool matched = false;
bool negated = false;
if (prefix == '-') if (prefix == '-')
{ {
push = false; negate_match = true;
value.LeftChomp(1); value.LeftChomp(1);
} }
else if (prefix == '_') else if (prefix == '_')
@ -904,11 +907,18 @@ class CPushMod : public CModule
if (msg.WildCmp(value)) if (msg.WildCmp(value))
{ {
return push; if (negate_match)
{
negated = true;
}
else
{
matched = true;
}
} }
} }
return false; return (matched && !negated);
} }
/** /**