1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- diff -Nur busybox-1.26.2.orig/coreutils/date.c busybox-1.26.2/coreutils/date.c
- --- busybox-1.26.2.orig/coreutils/date.c 2016-12-10 18:46:36.000000000 +0100
- +++ busybox-1.26.2/coreutils/date.c 2020-02-04 09:55:25.126083910 +0100
- @@ -267,6 +267,9 @@
- time(&ts.tv_sec);
- #endif
- }
- +#if !ENABLE_FEATURE_DATE_NANO
- + ts.tv_nsec = 0;
- +#endif
- localtime_r(&ts.tv_sec, &tm_time);
-
- /* If date string is given, update tm_time, and maybe set date */
- @@ -289,11 +292,12 @@
- if (date_str[0] != '@')
- tm_time.tm_isdst = -1;
- ts.tv_sec = validate_tm_time(date_str, &tm_time);
- + ts.tv_nsec = 0;
-
- maybe_set_utc(opt);
-
- /* if setting time, set it */
- - if ((opt & OPT_SET) && stime(&ts.tv_sec) < 0) {
- + if ((opt & OPT_SET) && clock_settime(CLOCK_REALTIME, &ts) < 0) {
- bb_perror_msg("can't set date");
- }
- }
- diff -Nur busybox-1.26.2.orig/libbb/missing_syscalls.c busybox-1.26.2/libbb/missing_syscalls.c
- --- busybox-1.26.2.orig/libbb/missing_syscalls.c 2016-09-27 18:53:50.000000000 +0200
- +++ busybox-1.26.2/libbb/missing_syscalls.c 2020-02-04 09:55:58.848244715 +0100
- @@ -16,14 +16,6 @@
- return syscall(__NR_getsid, pid);
- }
-
- -int stime(const time_t *t)
- -{
- - struct timeval tv;
- - tv.tv_sec = *t;
- - tv.tv_usec = 0;
- - return settimeofday(&tv, NULL);
- -}
- -
- int sethostname(const char *name, size_t len)
- {
- return syscall(__NR_sethostname, name, len);
- diff -Nur busybox-1.26.2.orig/util-linux/rdate.c busybox-1.26.2/util-linux/rdate.c
- --- busybox-1.26.2.orig/util-linux/rdate.c 2016-12-10 18:46:36.000000000 +0100
- +++ busybox-1.26.2/util-linux/rdate.c 2020-02-04 09:56:53.927774023 +0100
- @@ -79,9 +79,13 @@
- time(¤t_time);
- if (current_time == remote_time)
- bb_error_msg("current time matches remote time");
- - else
- - if (stime(&remote_time) < 0)
- - bb_perror_msg_and_die("can't set time of day");
- + else {
- + struct timespec ts;
- + ts.tv_sec = remote_time;
- + ts.tv_nsec = 0;
- + if (clock_settime(CLOCK_REALTIME, &ts) < 0)
- + bb_perror_msg_and_die("can't set time of day");
- + }
- }
-
- if (flags != 1) /* not lone -s */
|