From 85b02bddc0389487eaa8936de38441a1f95e08ea Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Wed, 1 Apr 2020 10:57:30 -0700 Subject: Add rtcwake. Some of the bringup folks are debugging RTC issues and asked for this. Rather than duplicate the weird xtzset dance with mktime, I've factored that out into a new xmktime that takes a boolean for whether to use UTC or local time. Otherwise, the slight cleanup of hwclock.c is entirely optional. The only functional change there is that util-linux 2.34's hwclock uses ISO time format, which is the usual toybox preference anyway, so I've switched it over to that rather than ctime(3). Bug: http://b/152042947 --- lib/xwrap.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'lib/xwrap.c') diff --git a/lib/xwrap.c b/lib/xwrap.c index 555fbd5e..5f18f295 100644 --- a/lib/xwrap.c +++ b/lib/xwrap.c @@ -1077,3 +1077,16 @@ char *xgetline(FILE *fp, int *len) return new; } + +time_t xmktime(struct tm *tm, int utc) +{ + char *old_tz = utc ? xtzset("UTC0") : 0; + time_t result; + + if ((result = mktime(tm)) < 0) error_exit("mktime"); + if (utc) { + free(xtzset(old_tz)); + free(old_tz); + } + return result; +} -- cgit v1.2.3