projects
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
busybox: fix setting the kernel timezone
[openwrt.git]
/
package
/
utils
/
busybox
/
patches
/
250-date-k-flag.patch
diff --git
a/package/utils/busybox/patches/250-date-k-flag.patch
b/package/utils/busybox/patches/250-date-k-flag.patch
index
f0dab26
..
111a861
100644
(file)
--- a/
package/utils/busybox/patches/250-date-k-flag.patch
+++ b/
package/utils/busybox/patches/250-date-k-flag.patch
@@
-8,15
+8,19
@@
//usage: "\n"
//usage: "\nRecognized TIME formats:"
//usage: "\n hh:mm[:ss]"
//usage: "\n"
//usage: "\nRecognized TIME formats:"
//usage: "\n hh:mm[:ss]"
-@@ -138,
6 +139,7
@@
+@@ -138,
9 +139,8
@@
//usage: "Wed Apr 12 18:52:41 MDT 2000\n"
#include "libbb.h"
//usage: "Wed Apr 12 18:52:41 MDT 2000\n"
#include "libbb.h"
+-#if ENABLE_FEATURE_DATE_NANO
+-# include <sys/syscall.h>
+-#endif
+#include <sys/time.h>
+#include <sys/time.h>
- #if ENABLE_FEATURE_DATE_NANO
- # include <sys/syscall.h>
- #endif
-@@ -148,8 +150,9 @@ enum {
++#include <sys/syscall.h>
+
+ enum {
+ OPT_RFC2822 = (1 << 0), /* R */
+@@ -148,8 +148,9 @@ enum {
OPT_UTC = (1 << 2), /* u */
OPT_DATE = (1 << 3), /* d */
OPT_REFERENCE = (1 << 4), /* r */
OPT_UTC = (1 << 2), /* u */
OPT_DATE = (1 << 3), /* d */
OPT_REFERENCE = (1 << 4), /* r */
@@
-28,7
+32,7
@@
};
static void maybe_set_utc(int opt)
};
static void maybe_set_utc(int opt)
-@@ -167,12 +1
70
,15 @@ static const char date_longopts[] ALIGN1
+@@ -167,12 +1
68
,15 @@ static const char date_longopts[] ALIGN1
/* "universal\0" No_argument "u" */
"date\0" Required_argument "d"
"reference\0" Required_argument "r"
/* "universal\0" No_argument "u" */
"date\0" Required_argument "d"
"reference\0" Required_argument "r"
@@
-44,7
+48,7
@@
struct timespec ts;
struct tm tm_time;
char buf_fmt_dt2str[64];
struct timespec ts;
struct tm tm_time;
char buf_fmt_dt2str[64];
-@@ -187,7 +19
3
,7 @@ int date_main(int argc UNUSED_PARAM, cha
+@@ -187,7 +19
1
,7 @@ int date_main(int argc UNUSED_PARAM, cha
opt_complementary = "d--s:s--d"
IF_FEATURE_DATE_ISOFMT(":R--I:I--R");
IF_LONG_OPTS(applet_long_options = date_longopts;)
opt_complementary = "d--s:s--d"
IF_FEATURE_DATE_ISOFMT(":R--I:I--R");
IF_LONG_OPTS(applet_long_options = date_longopts;)
@@
-53,7
+57,7
@@
IF_FEATURE_DATE_ISOFMT("I::D:"),
&date_str, &date_str, &filename
IF_FEATURE_DATE_ISOFMT(, &isofmt_arg, &fmt_str2dt));
IF_FEATURE_DATE_ISOFMT("I::D:"),
&date_str, &date_str, &filename
IF_FEATURE_DATE_ISOFMT(, &isofmt_arg, &fmt_str2dt));
-@@ -244,6 +2
50
,31 @@ int date_main(int argc UNUSED_PARAM, cha
+@@ -244,6 +2
48
,31 @@ int date_main(int argc UNUSED_PARAM, cha
if (*argv)
bb_show_usage();
if (*argv)
bb_show_usage();
@@
-64,7
+68,7
@@
+
+ /* workaround warp_clock() on first invocation */
+ memset(&tz, 0, sizeof(tz));
+
+ /* workaround warp_clock() on first invocation */
+ memset(&tz, 0, sizeof(tz));
-+ s
ettimeofday(
NULL, &tz);
++ s
yscall(SYS_settimeofday,
NULL, &tz);
+
+ memset(&tz, 0, sizeof(tz));
+#ifdef __USE_MISC
+
+ memset(&tz, 0, sizeof(tz));
+#ifdef __USE_MISC
@@
-73,7
+77,7
@@
+ tz.tz_minuteswest = -(tm_time.__tm_gmtoff / 60);
+#endif
+
+ tz.tz_minuteswest = -(tm_time.__tm_gmtoff / 60);
+#endif
+
-+ if (s
ettimeofday(
NULL, &tz))
++ if (s
yscall(SYS_settimeofday,
NULL, &tz))
+ {
+ bb_perror_msg("can't set kernel time zone");
+ return EXIT_FAILURE;
+ {
+ bb_perror_msg("can't set kernel time zone");
+ return EXIT_FAILURE;