Print three-letter abbreviations of the days and months. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> --- commands/hwclock.c | 4 +--- common/date.c | 18 ++++++++++++++++++ include/rtc.h | 2 ++ 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/commands/hwclock.c b/commands/hwclock.c index a1f5293..49569a9 100644 --- a/commands/hwclock.c +++ b/commands/hwclock.c @@ -138,9 +138,7 @@ static int do_hwclock(int argc, char *argv[]) snprintf(t, 12, "%lu", time); setenv(env_name, t); } else { - printf("%02d:%02d:%02d %02d-%02d-%04d\n", - tm.tm_hour, tm.tm_min, tm.tm_sec, - tm.tm_mday, tm.tm_mon + 1, tm.tm_year + 1900); + printf("%s\n", time_str(&tm)); } return 0; diff --git a/common/date.c b/common/date.c index 6b6b7ab..33fb9ec 100644 --- a/common/date.c +++ b/common/date.c @@ -148,3 +148,21 @@ mktime (unsigned int year, unsigned int mon, )*60 + min /* now have minutes */ )*60 + sec; /* finally seconds */ } + +const char *time_str(struct rtc_time *tm) +{ + const char *weekdays[] = { "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun" }; + const char *months[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", + "Sep", "Okt", "Nov", "Dec" }; + static char buf[128]; + + sprintf(buf, "%s %02d %s %4d %02d:%02d:%02d", + weekdays[tm->tm_wday - 1], + tm->tm_mday, + months[tm->tm_mon], + tm->tm_year + 1900, + tm->tm_hour, + tm->tm_min, + tm->tm_sec); + return buf; +} \ No newline at end of file diff --git a/include/rtc.h b/include/rtc.h index e2414fb..600dc46 100644 --- a/include/rtc.h +++ b/include/rtc.h @@ -55,4 +55,6 @@ unsigned long mktime (unsigned int, unsigned int, unsigned int, extern struct rtc_device *rtc_lookup(const char *name); +const char *time_str(struct rtc_time *tm); + #endif /* _RTC_H_ */ -- 2.6.2 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox