cmd: Set errorlevel to 0 when 'call' is invoked with an empty string.
Previously, invoking 'call' with an empty string would leave errorlevel unchanged. Reset errorlevel to 0 to match the behavior of the Windows 'cmd.exe'. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49982 Signed-off-by: Aaron Hill <aa1ronham@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
8a70e7eba1
commit
8e54cad6a1
|
@ -3149,6 +3149,9 @@ echo %ErrorLevel% should be 7
|
|||
if errorlevel 7 echo setting var worked too well, bad
|
||||
call :setError 3
|
||||
echo %ErrorLevel% should still be 7
|
||||
rem Verify that (call ) sets errorlevel to 0
|
||||
(call )
|
||||
if errorlevel 1 echo errorlevel should have been 0
|
||||
|
||||
echo ------------ Testing GOTO ------------
|
||||
if a==a goto dest1
|
||||
|
|
|
@ -1053,6 +1053,11 @@ void WCMD_run_program (WCHAR *command, BOOL called)
|
|||
firstParam = WCMD_parameter(command, 0, NULL, FALSE, TRUE);
|
||||
if (!firstParam) return;
|
||||
|
||||
if (!firstParam[0]) {
|
||||
errorlevel = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Calculate the search path and stem to search for */
|
||||
if (wcspbrk (firstParam, delims) == NULL) { /* No explicit path given, search path */
|
||||
static const WCHAR curDir[] = {'.',';','\0'};
|
||||
|
|
Loading…
Reference in New Issue