From 8905dd1c323499fd452ac7df2a6fece698f32c6d Mon Sep 17 00:00:00 2001 From: Paul Beckingham Date: Mon, 13 Oct 2014 21:39:51 -0400 Subject: [PATCH] Eval - The operator classifier failed to include '!=='. --- src/Eval.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Eval.cpp b/src/Eval.cpp index a98972985..42b00c820 100644 --- a/src/Eval.cpp +++ b/src/Eval.cpp @@ -136,7 +136,6 @@ void Eval::evaluateInfixExpression (const std::string& e, Variant& v) const // Parse for syntax checking and operator replacement. if (_debug) context.debug ("FILTER Infix " + dump (tokens)); - infixParse (tokens); if (_debug) context.debug ("FILTER Infix parsed " + dump (tokens)); @@ -478,7 +477,7 @@ bool Eval::parseRegex ( } //////////////////////////////////////////////////////////////////////////////// -// Equality --> Comparative {( "==" | "=" | "!=" ) Comparative} +// Equality --> Comparative {( "==" | "=" | "!==" | "!=" ) Comparative} bool Eval::parseEquality ( std::vector >& infix, int &i) const @@ -487,8 +486,9 @@ bool Eval::parseEquality ( parseComparative (infix, i)) { while (i < infix.size () && - (infix[i].first == "==" || - infix[i].first == "=" || + (infix[i].first == "==" || + infix[i].first == "=" || + infix[i].first == "!==" || infix[i].first == "!=") && infix[i].second == Lexer::typeOperator) {