cmd: Set success/failure return code DELETE command.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
This commit is contained in:
Eric Pouech 2024-06-27 17:39:24 +02:00 committed by Alexandre Julliard
parent 0b6fc4cd1c
commit ca3b24733a
4 changed files with 18 additions and 14 deletions

View file

@ -1438,37 +1438,41 @@ static BOOL WCMD_delete_one (const WCHAR *thisArg) {
* non-hidden files * non-hidden files
*/ */
BOOL WCMD_delete (WCHAR *args) { RETURN_CODE WCMD_delete(WCHAR *args)
{
int argno; int argno;
WCHAR *argN; WCHAR *argN;
BOOL argsProcessed = FALSE; BOOL argsProcessed = FALSE;
BOOL foundAny = FALSE;
errorlevel = NO_ERROR; errorlevel = NO_ERROR;
for (argno=0; ; argno++) { for (argno = 0; ; argno++)
BOOL found; {
WCHAR *thisArg; WCHAR *thisArg;
argN = NULL; argN = NULL;
thisArg = WCMD_parameter (args, argno, &argN, FALSE, FALSE); thisArg = WCMD_parameter(args, argno, &argN, FALSE, FALSE);
if (!argN) if (!argN)
break; /* no more parameters */ break; /* no more parameters */
if (argN[0] == '/') if (argN[0] == '/')
continue; /* skip options */ continue; /* skip options */
argsProcessed = TRUE; argsProcessed = TRUE;
found = WCMD_delete_one(thisArg); if (!WCMD_delete_one(thisArg))
if (!found) {
WCMD_output_stderr(WCMD_LoadMessage(WCMD_FILENOTFOUND), thisArg); WCMD_output_stderr(WCMD_LoadMessage(WCMD_FILENOTFOUND), thisArg);
foundAny |= found; errorlevel = ERROR_INVALID_FUNCTION;
}
} }
/* Handle no valid args */ /* Handle no valid args */
if (!argsProcessed) if (!argsProcessed)
{
WCMD_output_stderr(WCMD_LoadMessage(WCMD_NOARG)); WCMD_output_stderr(WCMD_LoadMessage(WCMD_NOARG));
errorlevel = ERROR_INVALID_FUNCTION;
}
return foundAny; return errorlevel;
} }
/* /*

View file

@ -492,10 +492,10 @@ SUCCESS 0
@todo_wine@FAILURE 1 @todo_wine@FAILURE 1
SUCCESS 0 SUCCESS 0
--- success/failure for ERASE command --- success/failure for ERASE command
@todo_wine@FAILURE 1 FAILURE 1
SUCCESS 0 SUCCESS 0
@todo_wine@FAILURE 1 FAILURE 1
@todo_wine@FAILURE 1 FAILURE 1
@todo_wine@--- @todo_wine@---
------------ Testing 'set' ------------ ------------ Testing 'set' ------------
1 1

View file

@ -168,7 +168,7 @@ void WCMD_clear_screen (void);
void WCMD_color (void); void WCMD_color (void);
void WCMD_copy (WCHAR *); void WCMD_copy (WCHAR *);
void WCMD_create_dir (WCHAR *); void WCMD_create_dir (WCHAR *);
BOOL WCMD_delete (WCHAR *); RETURN_CODE WCMD_delete(WCHAR *);
void WCMD_directory (WCHAR *); void WCMD_directory (WCHAR *);
RETURN_CODE WCMD_echo(const WCHAR *); RETURN_CODE WCMD_echo(const WCHAR *);
void WCMD_endlocal (void); void WCMD_endlocal (void);

View file

@ -1830,7 +1830,7 @@ static RETURN_CODE execute_single_command(const WCHAR *command)
break; break;
case WCMD_DEL: case WCMD_DEL:
case WCMD_ERASE: case WCMD_ERASE:
WCMD_delete (parms_start); return_code = WCMD_delete(parms_start);
break; break;
case WCMD_DIR: case WCMD_DIR:
WCMD_directory (parms_start); WCMD_directory (parms_start);