* Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
*/
-#include <sys/utsname.h>
#include "libbb.h"
+/* After libbb.h, since it needs sys/types.h on some systems */
+#include <sys/utsname.h>
#include "rtc_.h"
#if ENABLE_FEATURE_HWCLOCK_LONG_OPTIONS
struct tm tm;
int rtc = rtc_xopen(&rtcname, O_WRONLY);
- tm = *(utc ? gmtime(&t) : localtime(&t));
+ if (utc)
+ gmtime_r(&t, &tm);
+ else
+ localtime_r(&t, &tm);
tm.tm_isdst = 0;
xioctl(rtc, RTC_SET_TIME, &tm);
static void to_sys_clock(int utc)
{
struct timeval tv;
- const struct timezone tz = { timezone/60 - 60*daylight, 0 };
+ struct timezone tz;
+
+ tz.tz_minuteswest = timezone/60 - 60*daylight;
+ tz.tz_dsttime = 0;
tv.tv_sec = read_rtc(utc);
tv.tv_usec = 0;
#define HWCLOCK_OPT_RTCFILE 0x20
int hwclock_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
-int hwclock_main(int argc ATTRIBUTE_UNUSED, char **argv)
+int hwclock_main(int argc UNUSED_PARAM, char **argv)
{
unsigned opt;
int utc;