X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp.git/blobdiff_plain/35edb766593d019b89a3f40b6d6cdd2b50f18032..HEAD:/avr/cmd_date.c diff --git a/avr/cmd_date.c b/avr/cmd_date.c index efba858..0bd3ebb 100644 --- a/avr/cmd_date.c +++ b/avr/cmd_date.c @@ -4,17 +4,15 @@ * (C) Copyright 2001 * Wolfgang Denk, DENX Software Engineering, wd@denx.de. * - * SPDX-License-Identifier: GPL-2.0+ + * SPDX-License-Identifier: GPL-2.0 */ /* * RTC, Date & Time support: get and set date & time */ -#include "common.h" -#include +#include "cmd_date.h" #include "time.h" #include "rtc.h" -#include "command.h" /* @@ -125,20 +123,20 @@ int mk_date (const char *datestr, struct tm *tmp) return (-1); } -command_ret_t do_date(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +command_ret_t do_date(cmd_tbl_t *cmdtp UNUSED, uint_fast8_t flag UNUSED, int argc, char * const argv[]) { struct tm t; char buf[30]; - int rcode = CMD_RET_SUCCESS; - - (void) cmdtp; (void) flag; + int rc; + command_ret_t rcode = CMD_RET_FAILURE; switch (argc) { case 2: /* set date & time */ /* initialize t with current time */ - rcode = rtc_get (&t); - - if(!rcode) { + if(rtc_get(&t) < 0) { + my_puts_P(PSTR("## Get date failed\n")); + break; + } else { /* insert new date & time */ if (mk_date (argv[1], &t) != 0) { my_puts_P(PSTR("## Bad date format\n")); @@ -150,22 +148,24 @@ command_ret_t do_date(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) gmtime_r(&time, &t); /* and write to RTC */ - rcode = rtc_set (&t); - if(rcode) + if(rtc_set(&t) < 0) { my_puts_P(PSTR("## Set date failed\n")); - } else { - my_puts_P(PSTR("## Get date failed\n")); + break; + } } /* FALL TROUGH */ case 1: /* get date & time */ - rcode = rtc_get (&t); - - if (rcode) { + rc = rtc_get(&t); + if (rc >= 0) { + asctime_r(&t, buf); + printf_P(PSTR("%s"), buf); + if (rc == 1) + printf_P(PSTR(" (Invalid)")); + putchar('\n'); + rcode = CMD_RET_SUCCESS; + } else { my_puts_P(PSTR("## Get date failed\n")); - break; } - asctime_r(&t, buf); - printf_P(PSTR("%s\n"), buf); break; default: