Commit 80f8d49b authored by Frédéric Delanoy's avatar Frédéric Delanoy Committed by Alexandre Julliard

cmd: Add support for NEQ comparison operator in if statements.

parent 14cd4151
...@@ -2358,6 +2358,7 @@ static int evaluate_if_comparison(const WCHAR *leftOperand, const WCHAR *operato ...@@ -2358,6 +2358,7 @@ static int evaluate_if_comparison(const WCHAR *leftOperand, const WCHAR *operato
static const WCHAR lssW[] = {'l','s','s','\0'}; static const WCHAR lssW[] = {'l','s','s','\0'};
static const WCHAR leqW[] = {'l','e','q','\0'}; static const WCHAR leqW[] = {'l','e','q','\0'};
static const WCHAR equW[] = {'e','q','u','\0'}; static const WCHAR equW[] = {'e','q','u','\0'};
static const WCHAR neqW[] = {'n','e','q','\0'};
/* == is a special case, as it always compares strings */ /* == is a special case, as it always compares strings */
if (!lstrcmpiW(operator, eqeqW)) if (!lstrcmpiW(operator, eqeqW))
...@@ -2394,6 +2395,14 @@ static int evaluate_if_comparison(const WCHAR *leftOperand, const WCHAR *operato ...@@ -2394,6 +2395,14 @@ static int evaluate_if_comparison(const WCHAR *leftOperand, const WCHAR *operato
: lstrcmpW (leftOperand, rightOperand) == 0; : lstrcmpW (leftOperand, rightOperand) == 0;
} }
if (!lstrcmpiW(operator, neqW)) {
if (int_operands)
return leftOperand_int != rightOperand_int;
else
return caseInsensitive ? lstrcmpiW(leftOperand, rightOperand) != 0
: lstrcmpW (leftOperand, rightOperand) != 0;
}
return -1; return -1;
} }
......
...@@ -487,26 +487,26 @@ AB EQU AB ...@@ -487,26 +487,26 @@ AB EQU AB
BA EQU BA BA EQU BA
AA EQU AA AA EQU AA
A EQU a insensitive A EQU a insensitive
@todo_wine@B NEQ A B NEQ A
@todo_wine@AB NEQ A AB NEQ A
@todo_wine@BA NEQ A BA NEQ A
@todo_wine@AA NEQ A AA NEQ A
@todo_wine@A NEQ B A NEQ B
@todo_wine@AB NEQ B AB NEQ B
@todo_wine@BA NEQ B BA NEQ B
@todo_wine@AA NEQ B AA NEQ B
@todo_wine@A NEQ AB A NEQ AB
@todo_wine@B NEQ AB B NEQ AB
@todo_wine@BA NEQ AB BA NEQ AB
@todo_wine@AA NEQ AB AA NEQ AB
@todo_wine@A NEQ BA A NEQ BA
@todo_wine@B NEQ BA B NEQ BA
@todo_wine@AB NEQ BA AB NEQ BA
@todo_wine@AA NEQ BA AA NEQ BA
@todo_wine@A NEQ AA A NEQ AA
@todo_wine@B NEQ AA B NEQ AA
@todo_wine@AB NEQ AA AB NEQ AA
@todo_wine@BA NEQ AA BA NEQ AA
@todo_wine@A GEQ A @todo_wine@A GEQ A
@todo_wine@B GEQ A @todo_wine@B GEQ A
@todo_wine@AB GEQ A @todo_wine@AB GEQ A
...@@ -564,18 +564,18 @@ octal ok ...@@ -564,18 +564,18 @@ octal ok
hexa ok hexa ok
string/hexa compare ok string/hexa compare ok
string/hexa compare ok string/hexa compare ok
@todo_wine@1 NEQ 0 1 NEQ 0
@todo_wine@10 NEQ 0 10 NEQ 0
@todo_wine@9 NEQ 0 9 NEQ 0
@todo_wine@0 NEQ 1 0 NEQ 1
@todo_wine@10 NEQ 1 10 NEQ 1
@todo_wine@9 NEQ 1 9 NEQ 1
@todo_wine@0 NEQ 10 0 NEQ 10
@todo_wine@1 NEQ 10 1 NEQ 10
@todo_wine@9 NEQ 10 9 NEQ 10
@todo_wine@0 NEQ 9 0 NEQ 9
@todo_wine@1 NEQ 9 1 NEQ 9
@todo_wine@10 NEQ 9 10 NEQ 9
@todo_wine@0 GEQ 0 @todo_wine@0 GEQ 0
@todo_wine@1 GEQ 0 @todo_wine@1 GEQ 0
@todo_wine@10 GEQ 0 @todo_wine@10 GEQ 0
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment