From: YeshunYe <yeyeshun@uniontech.com> Signed-off-by: YeshunYe <yeyeshun@uniontech.com> --- programs/cmd/tests/test_builtins.bat.exp | 2 +- programs/cmd/tests/test_builtins.cmd.exp | 2 +- programs/start/start.c | 12 ++++++++++++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/programs/cmd/tests/test_builtins.bat.exp b/programs/cmd/tests/test_builtins.bat.exp index 85ac8052802..1a7492ccc2b 100644 --- a/programs/cmd/tests/test_builtins.bat.exp +++ b/programs/cmd/tests/test_builtins.bat.exp @@ -62,7 +62,7 @@ FAILURE 255 foo@space@ SUCCESS 1024 @todo_wine@SUCCESS 666 -@todo_wine@0 +0 --- success/failure for TYPE command FAILURE 1 SUCCESS 0 diff --git a/programs/cmd/tests/test_builtins.cmd.exp b/programs/cmd/tests/test_builtins.cmd.exp index 53143ea9b7f..7899d48d507 100644 --- a/programs/cmd/tests/test_builtins.cmd.exp +++ b/programs/cmd/tests/test_builtins.cmd.exp @@ -581,7 +581,7 @@ FAILURE 255 foo@space@ SUCCESS 1024 @todo_wine@SUCCESS 666 -@todo_wine@0 +0 --- success/failure for TYPE command FAILURE 1 SUCCESS 0 diff --git a/programs/start/start.c b/programs/start/start.c index 80f623e4c66..8840d4ab042 100644 --- a/programs/start/start.c +++ b/programs/start/start.c @@ -458,6 +458,18 @@ static void parse_command_line( int argc, WCHAR *argv[] ) usage(); } else opts.sei.lpDirectory = argv[++i]; + + if (opts.sei.lpDirectory[0] == '\"') + { + int len = wcslen(opts.sei.lpDirectory); + /* no need to free since the process will exit shortly */ + WCHAR* lpDirectory = wcsdup(opts.sei.lpDirectory); + if (lpDirectory[len - 1] == '\"') + lpDirectory[len - 1] = 0; + else + WINE_ERR("quotes does not match!\n"); + opts.sei.lpDirectory = lpDirectory + 1; + } } else if (is_option(argv[i], L"/b")) opts.creation_flags &= ~CREATE_NEW_CONSOLE; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9946