diff --git a/programs/cmd/builtins.c b/programs/cmd/builtins.c index 8bb84f68a66..e738626a6fd 100644 --- a/programs/cmd/builtins.c +++ b/programs/cmd/builtins.c @@ -976,7 +976,9 @@ void WCMD_for (WCHAR *p, CMD_LIST **cmdList) { while (*curPos && *curPos==' ') curPos++; /* Ensure line continues with IN */ - if (!*curPos || lstrcmpiW (curPos, inW)) { + if (!*curPos + || CompareStringW(LOCALE_USER_DEFAULT, NORM_IGNORECASE | SORT_STRINGSORT, + curPos, 3, inW, -1) != CSTR_EQUAL) { WCMD_output (WCMD_LoadMessage(WCMD_SYNTAXERR)); return; } diff --git a/programs/cmd/tests/test_builtins.cmd b/programs/cmd/tests/test_builtins.cmd index a83e568637f..ffbc81469fa 100644 --- a/programs/cmd/tests/test_builtins.cmd +++ b/programs/cmd/tests/test_builtins.cmd @@ -318,6 +318,7 @@ for %%i in (A B C) do echo %%j for %%i in (A B C) do call :forTestFun1 %%i for %%i in (1,4,1) do echo %%i for %%i in (A, B,C) do echo %%i +for %%i in (X) do echo %%i goto :endForTestFun1 :forTestFun1 echo %1 diff --git a/programs/cmd/tests/test_builtins.cmd.exp b/programs/cmd/tests/test_builtins.cmd.exp index 7ebe57a076f..2954e166bc6 100644 --- a/programs/cmd/tests/test_builtins.cmd.exp +++ b/programs/cmd/tests/test_builtins.cmd.exp @@ -223,6 +223,7 @@ C A B C +X ...imbricated FORs @todo_wine@X Y @todo_wine@X Y