From: Eric Pouech <epouech@codeweavers.com> Solves case #8 of following bugzilla entry Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50132 Signed-off-by: Eric Pouech <epouech@codeweavers.com> --- programs/cmd/tests/test_builtins.cmd.exp | 6 +++--- programs/cmd/wcmdmain.c | 8 ++++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/programs/cmd/tests/test_builtins.cmd.exp b/programs/cmd/tests/test_builtins.cmd.exp index 4acdfd7a2c7..dbbfbba27fb 100644 --- a/programs/cmd/tests/test_builtins.cmd.exp +++ b/programs/cmd/tests/test_builtins.cmd.exp @@ -1406,9 +1406,9 @@ b 1 3 "h" --- basic wildcards bazbaz -@todo_wine@bazbaz -@todo_wine@bazbaz -@todo_wine@"notbaz" +bazbaz +bazbaz +"notbaz" --- wildcards in subdirs pop\bar1@space@ pop\bar2.txt@space@ diff --git a/programs/cmd/wcmdmain.c b/programs/cmd/wcmdmain.c index a47a62424c1..20e7eafaed4 100644 --- a/programs/cmd/wcmdmain.c +++ b/programs/cmd/wcmdmain.c @@ -4349,8 +4349,12 @@ static RETURN_CODE for_control_execute_set(CMD_FOR_CONTROL *for_ctrl, const WCHA if (wcspbrk(element, L"?*")) { WIN32_FIND_DATAW fd; - HANDLE hff = FindFirstFileW(buffer, &fd); - size_t insert_pos = (wcsrchr(buffer, L'\\') ? wcsrchr(buffer, L'\\') + 1 - buffer : 0); + HANDLE hff; + size_t insert_pos; + + if (*buffer == L'"') WCMD_strip_quotes(buffer); + hff = FindFirstFileW(buffer, &fd); + insert_pos = wcsrchr(buffer, L'\\') ? wcsrchr(buffer, L'\\') + 1 - buffer : 0; if (hff == INVALID_HANDLE_VALUE) { -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9869