Commit 8b6ba774 authored by Jason Edmeades's avatar Jason Edmeades Committed by Alexandre Julliard

cmd: for /f fails to launch quoted program plus args.

for /f can run a program and parse its output. The program name can supply args and be quoted or not. If quoted, wine fails to run the program because internally we were adding an extra pair of quotes. These are not needed and can be removed. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=39906Signed-off-by: 's avatarJason Edmeades <us@edmeades.me.uk> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent 58d21b33
......@@ -2073,7 +2073,7 @@ static HANDLE WCMD_forf_getinputhandle(BOOL usebackq, WCHAR *itemstr, BOOL iscmd
static const WCHAR redirOutW[] = {'>','%','s','\0'};
static const WCHAR cmdW[] = {'C','M','D','\0'};
static const WCHAR cmdslashcW[] = {'C','M','D','.','E','X','E',' ',
'/','C',' ','"','%','s','"','\0'};
'/','C',' ','%','s','\0'};
/* Remove leading and trailing character */
if ((iscmd && (itemstr[0] == '`' && usebackq)) ||
......
......@@ -1724,9 +1724,11 @@ if "%CD%"=="" goto :SkipFORFcmdNT4
for /f %%i in ('echo.Passed1') do echo %%i
for /f "usebackq" %%i in (`echo.Passed2`) do echo %%i
for /f usebackq %%i in (`echo.Passed3`) do echo %%i
for /f "usebackq" %%i in (`"c:\windows\system32\cmd.exe" /C echo Passed4`) do echo %%i
for /f "usebackq" %%i in (`""c:\windows\system32\cmd.exe" /C echo Passed5"`) do echo %%i
goto :ContinueFORF
:SkipFORFcmdNT4
for /l %%i in (1,1,3) do echo Missing functionality - Broken%%i
for /l %%i in (1,1,5) do echo Missing functionality - Broken%%i
:ContinueFORF
rem FIXME: Rest not testable right now in wine: not implemented and would need
rem preliminary grep-like program implementation (e.g. like findstr or fc) even
......
......@@ -1209,6 +1209,8 @@ c
Passed1@or_broken@Missing functionality - Broken1
Passed2@or_broken@Missing functionality - Broken2
Passed3@or_broken@Missing functionality - Broken3
Passed4@or_broken@Missing functionality - Broken4
Passed5@or_broken@Missing functionality - Broken5
------ eol option
and@or_broken@Broken NT4 functionality1
Line@or_broken@Broken NT4 functionality2
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment