From: Eric Pouech epouech@codeweavers.com
Signed-off-by: Eric Pouech epouech@codeweavers.com --- programs/cmd/builtins.c | 14 ++++++++++---- programs/cmd/tests/test_builtins.cmd.exp | 8 ++++---- programs/cmd/wcmd.h | 4 ++-- programs/cmd/wcmdmain.c | 4 ++-- 4 files changed, 18 insertions(+), 12 deletions(-)
diff --git a/programs/cmd/builtins.c b/programs/cmd/builtins.c index bf089a8b9f5..843274b7969 100644 --- a/programs/cmd/builtins.c +++ b/programs/cmd/builtins.c @@ -2547,8 +2547,9 @@ RETURN_CODE WCMD_setshow_default(const WCHAR *args) * FIXME: Can't change date yet */
-void WCMD_setshow_date (void) { - +RETURN_CODE WCMD_setshow_date(void) +{ + RETURN_CODE return_code = NO_ERROR; WCHAR curdate[64], buffer[64]; DWORD count;
@@ -2566,8 +2567,10 @@ void WCMD_setshow_date (void) { else WCMD_print_error (); } else { + return_code = ERROR_INVALID_FUNCTION; WCMD_output_stderr (WCMD_LoadMessage(WCMD_NYI)); } + return errorlevel = return_code; }
/**************************************************************************** @@ -3333,8 +3336,9 @@ void WCMD_setshow_prompt (void) { * FIXME: Can't change time yet */
-void WCMD_setshow_time (void) { - +RETURN_CODE WCMD_setshow_time(void) +{ + RETURN_CODE return_code = NO_ERROR; WCHAR curtime[64], buffer[64]; DWORD count; SYSTEMTIME st; @@ -3354,8 +3358,10 @@ void WCMD_setshow_time (void) { else WCMD_print_error (); } else { + return_code = ERROR_INVALID_FUNCTION; WCMD_output_stderr (WCMD_LoadMessage(WCMD_NYI)); } + return errorlevel = return_code; }
/**************************************************************************** diff --git a/programs/cmd/tests/test_builtins.cmd.exp b/programs/cmd/tests/test_builtins.cmd.exp index c883758cf32..4d84079f6d4 100644 --- a/programs/cmd/tests/test_builtins.cmd.exp +++ b/programs/cmd/tests/test_builtins.cmd.exp @@ -542,11 +542,11 @@ SUCCESS 666 @todo_wine@SUCCESS@space@ SUCCESS 0 --- success/failure for DATE command -@todo_wine@SUCCESS 0 -@todo_wine@FAILURE 1 +SUCCESS 0 +FAILURE 1 --- success/failure for TIME command -@todo_wine@SUCCESS 0 -@todo_wine@FAILURE 1 +SUCCESS 0 +FAILURE 1 --- success/failure for BREAK command @todo_wine@SUCCESS 666 @todo_wine@SUCCESS 666 diff --git a/programs/cmd/wcmd.h b/programs/cmd/wcmd.h index 3c259ec0eb9..edcd6dce56e 100644 --- a/programs/cmd/wcmd.h +++ b/programs/cmd/wcmd.h @@ -193,12 +193,12 @@ RETURN_CODE WCMD_remove_dir(WCHAR *command); RETURN_CODE WCMD_rename(void); void WCMD_run_program (WCHAR *command, BOOL called); RETURN_CODE WCMD_setlocal(WCHAR *args); -void WCMD_setshow_date (void); +RETURN_CODE WCMD_setshow_date(void); RETURN_CODE WCMD_setshow_default(const WCHAR *args); void WCMD_setshow_env (WCHAR *command); void WCMD_setshow_path (const WCHAR *args); void WCMD_setshow_prompt (void); -void WCMD_setshow_time (void); +RETURN_CODE WCMD_setshow_time(void); void WCMD_shift (const WCHAR *args); void WCMD_start (WCHAR *args); void WCMD_title (const WCHAR *); diff --git a/programs/cmd/wcmdmain.c b/programs/cmd/wcmdmain.c index feb5e75281e..84692121d8b 100644 --- a/programs/cmd/wcmdmain.c +++ b/programs/cmd/wcmdmain.c @@ -1830,7 +1830,7 @@ static RETURN_CODE execute_single_command(const WCHAR *command) WCMD_change_tty (); break; case WCMD_DATE: - WCMD_setshow_date (); + return_code = WCMD_setshow_date(); break; case WCMD_DEL: case WCMD_ERASE: @@ -1893,7 +1893,7 @@ static RETURN_CODE execute_single_command(const WCHAR *command) WCMD_start (parms_start); break; case WCMD_TIME: - WCMD_setshow_time (); + return_code = WCMD_setshow_time(); break; case WCMD_TITLE: if (lstrlenW(&whichcmd[count]) > 0)