Commit 78af04f4 authored by Frédéric Delanoy's avatar Frédéric Delanoy Committed by Alexandre Julliard

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

parent 154710a0
...@@ -2356,6 +2356,7 @@ static int evaluate_if_comparison(const WCHAR *leftOperand, const WCHAR *operato ...@@ -2356,6 +2356,7 @@ static int evaluate_if_comparison(const WCHAR *leftOperand, const WCHAR *operato
long int leftOperand_int, rightOperand_int; long int leftOperand_int, rightOperand_int;
BOOL int_operands; BOOL int_operands;
static const WCHAR lssW[] = {'l','s','s','\0'}; static const WCHAR lssW[] = {'l','s','s','\0'};
static const WCHAR leqW[] = {'l','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))
...@@ -2376,6 +2377,14 @@ static int evaluate_if_comparison(const WCHAR *leftOperand, const WCHAR *operato ...@@ -2376,6 +2377,14 @@ static int evaluate_if_comparison(const WCHAR *leftOperand, const WCHAR *operato
: lstrcmpW (leftOperand, rightOperand) < 0; : lstrcmpW (leftOperand, rightOperand) < 0;
} }
if (!lstrcmpiW(operator, leqW)) {
if (int_operands)
return leftOperand_int <= rightOperand_int;
else
return caseInsensitive ? lstrcmpiW(leftOperand, rightOperand) <= 0
: lstrcmpW (leftOperand, rightOperand) <= 0;
}
return -1; return -1;
} }
......
...@@ -460,27 +460,27 @@ a LSS B@or_broken@NT4 ...@@ -460,27 +460,27 @@ a LSS B@or_broken@NT4
a LSS B insensitive a LSS B insensitive
A LSS b A LSS b
A LSS b insensitive A LSS b insensitive
@todo_wine@A LEQ A A LEQ A
@todo_wine@A LEQ B A LEQ B
@todo_wine@B LEQ B B LEQ B
@todo_wine@AB LEQ B AB LEQ B
@todo_wine@AA LEQ B AA LEQ B
@todo_wine@A LEQ AB A LEQ AB
@todo_wine@AB LEQ AB AB LEQ AB
@todo_wine@AA LEQ AB AA LEQ AB
@todo_wine@A LEQ BA A LEQ BA
@todo_wine@B LEQ BA B LEQ BA
@todo_wine@AB LEQ BA AB LEQ BA
@todo_wine@BA LEQ BA BA LEQ BA
@todo_wine@AA LEQ BA AA LEQ BA
@todo_wine@A LEQ AA A LEQ AA
@todo_wine@AA LEQ AA AA LEQ AA
@todo_wine@b LEQ B@or_broken@NT4 b LEQ B@or_broken@NT4
@todo_wine@b LEQ B insensitive b LEQ B insensitive
@todo_wine@a LEQ B@or_broken@NT4 a LEQ B@or_broken@NT4
@todo_wine@a LEQ B insensitive a LEQ B insensitive
@todo_wine@A LEQ b A LEQ b
@todo_wine@A LEQ b insensitive A LEQ b insensitive
@todo_wine@A EQU A @todo_wine@A EQU A
@todo_wine@B EQU B @todo_wine@B EQU B
@todo_wine@AB EQU AB @todo_wine@AB EQU AB
...@@ -546,16 +546,16 @@ also in negative form ...@@ -546,16 +546,16 @@ also in negative form
9 LSS 10 9 LSS 10
0 LSS 9 0 LSS 9
1 LSS 9 1 LSS 9
@todo_wine@0 LEQ 0 0 LEQ 0
@todo_wine@0 LEQ 1 0 LEQ 1
@todo_wine@1 LEQ 1 1 LEQ 1
@todo_wine@0 LEQ 10 0 LEQ 10
@todo_wine@1 LEQ 10 1 LEQ 10
@todo_wine@10 LEQ 10 10 LEQ 10
@todo_wine@9 LEQ 10 9 LEQ 10
@todo_wine@0 LEQ 9 0 LEQ 9
@todo_wine@1 LEQ 9 1 LEQ 9
@todo_wine@9 LEQ 9 9 LEQ 9
@todo_wine@0 EQU 0 @todo_wine@0 EQU 0
@todo_wine@1 EQU 1 @todo_wine@1 EQU 1
@todo_wine@10 EQU 10 @todo_wine@10 EQU 10
......
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