From: Eric Pouech epouech@codeweavers.com
Fixes syntax errors from using 'in' word in command block of a FOR intruction.
Signed-off-by: Eric Pouech epouech@codeweavers.com --- programs/cmd/wcmdmain.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/programs/cmd/wcmdmain.c b/programs/cmd/wcmdmain.c index c6fa13f9739..231e1aaac3f 100644 --- a/programs/cmd/wcmdmain.c +++ b/programs/cmd/wcmdmain.c @@ -2922,9 +2922,11 @@ enum read_parse_line WCMD_ReadAndParseLine(const WCHAR *optionalcmd, CMD_NODE ** /* In a for loop, the DO command will follow a close bracket followed by whitespace, followed by DO, ie closeBracket inserts a NULL entry, curLen is then 0, and all whitespace is skipped */ - } else if (inFor && WCMD_keyword_ws_found(L"do", curPos)) { + } else if (inFor && lastWasIn && WCMD_keyword_ws_found(L"do", curPos)) {
WINE_TRACE("Found 'DO '\n"); + inFor = FALSE; + lastWasIn = FALSE; lastWasDo = TRUE; acceptCommand = TRUE; onlyWhiteSpace = TRUE;