--- heirloom-ng-clean/date/date.c 2024-12-12 19:06:27.342195016 +0300 +++ heirloom-ng/date/date.c 2024-12-12 16:52:25.306354399 +0300 @@ -132,6 +132,7 @@ settime(char *op) { struct utmpx before, after; + struct timeval tv_tmp; const char wtmpxfile[] = "/var/log/wtmp"; time_t newtime; @@ -143,12 +144,16 @@ strcpy(after.ut_line, "new time"); if ((newtime = timeop(op)) == (time_t)-1) badconv(); - gettimeofday(&before.ut_tv, NULL); + gettimeofday(&tv_tmp, NULL); + before.ut_tv.tv_sec = tv_tmp.tv_sec; + before.ut_tv.tv_usec = tv_tmp.tv_usec; if (stime(&newtime) < 0) { fprintf(stderr, "%s: no permission\n", progname); exit(1); } - gettimeofday(&after.ut_tv, NULL); + gettimeofday(&tv_tmp, NULL); + after.ut_tv.tv_sec = tv_tmp.tv_sec; + after.ut_tv.tv_usec = tv_tmp.tv_usec; #ifdef __linux__ system("/sbin/hwclock -w >/dev/null 2>&1"); #endif /* __linux__ */