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
*/
BOOL WCMD_delete (WCHAR *args) {
RETURN_CODE WCMD_delete(WCHAR *args)
{
int argno;
WCHAR *argN;
BOOL argsProcessed = FALSE;
BOOL foundAny = FALSE;
errorlevel = NO_ERROR;
for (argno=0; ; argno++) {
BOOL found;
for (argno = 0; ; argno++)
{
WCHAR *thisArg;
argN = NULL;
thisArg = WCMD_parameter (args, argno, &argN, FALSE, FALSE);
thisArg = WCMD_parameter(args, argno, &argN, FALSE, FALSE);
if (!argN)
break; /* no more parameters */
if (argN[0] == '/')
continue; /* skip options */
argsProcessed = TRUE;
found = WCMD_delete_one(thisArg);
if (!found)
if (!WCMD_delete_one(thisArg))
{
WCMD_output_stderr(WCMD_LoadMessage(WCMD_FILENOTFOUND), thisArg);
foundAny |= found;
errorlevel = ERROR_INVALID_FUNCTION;
}
}
/* Handle no valid args */
if (!argsProcessed)
{
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
SUCCESS 0
--- success/failure for ERASE command
@todo_wine@FAILURE 1
FAILURE 1
SUCCESS 0
@todo_wine@FAILURE 1
@todo_wine@FAILURE 1
FAILURE 1
FAILURE 1
@todo_wine@---
------------ Testing 'set' ------------
1

View file

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

View file

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