cmd: When 'if' condition is not met, ignore the next commands in the list.
Signed-off-by: Carlos Rafael Ramirez <crramirez@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
aa55206626
commit
55be713d76
|
@ -1574,6 +1574,9 @@ static void WCMD_part_execute(CMD_LIST **cmdList, const WCHAR *firstcmd,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (curPosition == *cmdList) *cmdList = (*cmdList)->nextcommand;
|
if (curPosition == *cmdList) *cmdList = (*cmdList)->nextcommand;
|
||||||
|
} else if (!processThese) {
|
||||||
|
if (curPosition == *cmdList) *cmdList = (*cmdList)->nextcommand;
|
||||||
|
WINE_TRACE("Ignore the next command as well (next = %p)\n", *cmdList);
|
||||||
} else {
|
} else {
|
||||||
WINE_TRACE("Found end of this IF statement (next = %p)\n", *cmdList);
|
WINE_TRACE("Found end of this IF statement (next = %p)\n", *cmdList);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -836,6 +836,17 @@ if 1 GEQ "10" (echo 1 GEQ "10") else echo foo
|
||||||
if "1" GEQ "10" (echo 1 GEQ "10") else echo foo
|
if "1" GEQ "10" (echo 1 GEQ "10") else echo foo
|
||||||
if '1' GEQ "10" (echo '1' GEQ "10") else echo foo
|
if '1' GEQ "10" (echo '1' GEQ "10") else echo foo
|
||||||
if "10" GEQ "10" (echo "10" GEQ "10")
|
if "10" GEQ "10" (echo "10" GEQ "10")
|
||||||
|
echo --- unconditional ampersand after if one line
|
||||||
|
if "0"=="0" echo 1 & echo 2 & echo 3 else echo 4
|
||||||
|
echo ---
|
||||||
|
echo x & if "0"=="1" echo 1 & echo 2
|
||||||
|
echo ---
|
||||||
|
echo x & if "0"=="1" echo 1 & echo 2 & echo 3
|
||||||
|
echo ---
|
||||||
|
echo x & if "0"=="1" (echo 1 & echo 2 & echo 3)
|
||||||
|
echo ---
|
||||||
|
echo x & if "0"=="1" echo 1 & echo 2 & echo 3 else echo 4
|
||||||
|
echo ---
|
||||||
goto :endIfCompOpsSubroutines
|
goto :endIfCompOpsSubroutines
|
||||||
|
|
||||||
rem IF subroutines helpers
|
rem IF subroutines helpers
|
||||||
|
|
|
@ -645,6 +645,19 @@ foo
|
||||||
foo
|
foo
|
||||||
'1' GEQ "10"
|
'1' GEQ "10"
|
||||||
"10" GEQ "10"
|
"10" GEQ "10"
|
||||||
|
--- unconditional ampersand after if one line
|
||||||
|
1@space@
|
||||||
|
2@space@
|
||||||
|
3 else echo 4
|
||||||
|
---
|
||||||
|
x@space@
|
||||||
|
---
|
||||||
|
x@space@
|
||||||
|
---
|
||||||
|
x@space@
|
||||||
|
---
|
||||||
|
x@space@
|
||||||
|
---
|
||||||
------------ Testing for ------------
|
------------ Testing for ------------
|
||||||
--- plain FOR
|
--- plain FOR
|
||||||
A
|
A
|
||||||
|
|
Loading…
Reference in New Issue