summaryrefslogtreecommitdiff
path: root/common/cmd_date.c
diff options
context:
space:
mode:
authorJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2008-09-01 23:06:23 +0200
committerWolfgang Denk <wd@denx.de>2008-09-07 00:56:36 +0200
commitd1e2319414ea5218ba801163e4530ecf2dfcbf36 (patch)
tree78c74e4a7a154c267bfcc1812d3493f7d4f979c9 /common/cmd_date.c
parentee9536a28cb149bcb6c5dee9d08c62c91f4c72d2 (diff)
rtc: allow rtc_set to return an error and use it in cmd_date
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Diffstat (limited to 'common/cmd_date.c')
-rw-r--r--common/cmd_date.c28
1 files changed, 20 insertions, 8 deletions
diff --git a/common/cmd_date.c b/common/cmd_date.c
index 751159847a4..d6cd565adf2 100644
--- a/common/cmd_date.c
+++ b/common/cmd_date.c
@@ -56,18 +56,30 @@ int do_date (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
rtc_reset ();
} else {
/* initialize tm with current time */
- rtc_get (&tm);
- /* insert new date & time */
- if (mk_date (argv[1], &tm) != 0) {
- puts ("## Bad date format\n");
- break;
+ rcode = rtc_get (&tm);
+
+ if(!rcode) {
+ /* insert new date & time */
+ if (mk_date (argv[1], &tm) != 0) {
+ puts ("## Bad date format\n");
+ break;
+ }
+ /* and write to RTC */
+ rcode = rtc_set (&tm);
+ if(rcode)
+ puts("## Set date failled\n");
+ } else {
+ puts("## Get date failled\n");
}
- /* and write to RTC */
- rtc_set (&tm);
}
/* FALL TROUGH */
case 1: /* get date & time */
- rtc_get (&tm);
+ rcode = rtc_get (&tm);
+
+ if (rcode) {
+ puts("## Get date failled\n");
+ break;
+ }
printf ("Date: %4d-%02d-%02d (%sday) Time: %2d:%02d:%02d\n",
tm.tm_year, tm.tm_mon, tm.tm_mday,