aboutsummaryrefslogtreecommitdiff
path: root/coreutils
diff options
context:
space:
mode:
authorRon Yorston <rmy@pobox.com>2021-09-17 11:36:53 +0100
committerRon Yorston <rmy@pobox.com>2021-09-17 11:38:52 +0100
commit46299d0c4f4c9a4bbad38bbbe26f196e1bccdc52 (patch)
tree6194cdabc0858ae3bed0276679b3b80a722f4150 /coreutils
parentcf91de46997888b7096352805c05401e7ebae01e (diff)
parent9fe1548bbfde548d54acaab113656a56ea0ccc72 (diff)
downloadbusybox-w32-46299d0c4f4c9a4bbad38bbbe26f196e1bccdc52.tar.gz
busybox-w32-46299d0c4f4c9a4bbad38bbbe26f196e1bccdc52.tar.bz2
busybox-w32-46299d0c4f4c9a4bbad38bbbe26f196e1bccdc52.zip
Merge branch 'busybox' into merge
Disable FEATURE_TIMEZONE for now.
Diffstat (limited to 'coreutils')
-rw-r--r--coreutils/date.c7
-rw-r--r--coreutils/df.c26
-rw-r--r--coreutils/touch.c6
3 files changed, 23 insertions, 16 deletions
diff --git a/coreutils/date.c b/coreutils/date.c
index d64ff94b9..4e62a6fb0 100644
--- a/coreutils/date.c
+++ b/coreutils/date.c
@@ -291,6 +291,7 @@ int date_main(int argc UNUSED_PARAM, char **argv)
291 291
292 /* If date string is given, update tm_time, and maybe set date */ 292 /* If date string is given, update tm_time, and maybe set date */
293 if (date_str != NULL) { 293 if (date_str != NULL) {
294 int check_dst = 1;
294 /* Zero out fields - take her back to midnight! */ 295 /* Zero out fields - take her back to midnight! */
295 tm_time.tm_sec = 0; 296 tm_time.tm_sec = 0;
296 tm_time.tm_min = 0; 297 tm_time.tm_min = 0;
@@ -301,12 +302,12 @@ int date_main(int argc UNUSED_PARAM, char **argv)
301 if (strptime(date_str, fmt_str2dt, &tm_time) == NULL) 302 if (strptime(date_str, fmt_str2dt, &tm_time) == NULL)
302 bb_error_msg_and_die(bb_msg_invalid_date, date_str); 303 bb_error_msg_and_die(bb_msg_invalid_date, date_str);
303 } else { 304 } else {
304 parse_datestr(date_str, &tm_time); 305 check_dst = parse_datestr(date_str, &tm_time);
305 } 306 }
306 307
307 /* Correct any day of week and day of year etc. fields */ 308 /* Correct any day of week and day of year etc. fields */
308 /* Be sure to recheck dst (but not if date is time_t format) */ 309 /* Be sure to recheck dst (but not if date is UTC) */
309 if (date_str[0] != '@') 310 if (check_dst)
310 tm_time.tm_isdst = -1; 311 tm_time.tm_isdst = -1;
311 ts.tv_sec = validate_tm_time(date_str, &tm_time); 312 ts.tv_sec = validate_tm_time(date_str, &tm_time);
312 ts.tv_nsec = 0; 313 ts.tv_nsec = 0;
diff --git a/coreutils/df.c b/coreutils/df.c
index e8d4bc8f2..9f8b3a71e 100644
--- a/coreutils/df.c
+++ b/coreutils/df.c
@@ -99,15 +99,16 @@ int df_main(int argc UNUSED_PARAM, char **argv)
99 struct mntent *mount_entry; 99 struct mntent *mount_entry;
100 struct statvfs s; 100 struct statvfs s;
101 enum { 101 enum {
102 OPT_KILO = (1 << 0), 102 OPT_KILO = (1 << 0),
103 OPT_POSIX = (1 << 1), 103 OPT_POSIX = (1 << 1),
104 OPT_FSTYPE = (1 << 2), 104 OPT_FSTYPE = (1 << 2),
105 OPT_t = (1 << 3), 105 OPT_t = (1 << 3),
106 OPT_ALL = (1 << 4) * ENABLE_FEATURE_DF_FANCY, 106 OPT_ALL = (1 << 4) * ENABLE_FEATURE_DF_FANCY,
107 OPT_INODE = (1 << 5) * ENABLE_FEATURE_DF_FANCY, 107 OPT_INODE = (1 << 5) * ENABLE_FEATURE_DF_FANCY,
108 OPT_BSIZE = (1 << 6) * ENABLE_FEATURE_DF_FANCY, 108 OPT_BSIZE = (1 << 6) * ENABLE_FEATURE_DF_FANCY,
109 OPT_HUMAN = (1 << (4 + 3*ENABLE_FEATURE_DF_FANCY)) * ENABLE_FEATURE_HUMAN_READABLE, 109 OPT_HUMAN = (1 << (4 + 3*ENABLE_FEATURE_DF_FANCY)) * ENABLE_FEATURE_HUMAN_READABLE,
110 OPT_MEGA = (1 << (5 + 3*ENABLE_FEATURE_DF_FANCY)) * ENABLE_FEATURE_HUMAN_READABLE, 110 OPT_HUMANDEC = (1 << (5 + 3*ENABLE_FEATURE_DF_FANCY)) * ENABLE_FEATURE_HUMAN_READABLE,
111 OPT_MEGA = (1 << (6 + 3*ENABLE_FEATURE_DF_FANCY)) * ENABLE_FEATURE_HUMAN_READABLE,
111 }; 112 };
112 const char *disp_units_hdr = NULL; 113 const char *disp_units_hdr = NULL;
113 char *chp, *opt_t; 114 char *chp, *opt_t;
@@ -124,7 +125,7 @@ int df_main(int argc UNUSED_PARAM, char **argv)
124 opt = getopt32(argv, "^" 125 opt = getopt32(argv, "^"
125 "kPTt:" 126 "kPTt:"
126 IF_FEATURE_DF_FANCY("aiB:") 127 IF_FEATURE_DF_FANCY("aiB:")
127 IF_FEATURE_HUMAN_READABLE("hm") 128 IF_FEATURE_HUMAN_READABLE("hHm")
128 "\0" 129 "\0"
129#if ENABLE_FEATURE_HUMAN_READABLE && ENABLE_FEATURE_DF_FANCY 130#if ENABLE_FEATURE_HUMAN_READABLE && ENABLE_FEATURE_DF_FANCY
130 "k-mB:m-Bk:B-km" 131 "k-mB:m-Bk:B-km"
@@ -151,8 +152,11 @@ int df_main(int argc UNUSED_PARAM, char **argv)
151 got_it: ; 152 got_it: ;
152 } 153 }
153 154
154 if (opt & OPT_HUMAN) { 155 if (opt & (OPT_HUMAN|OPT_HUMANDEC)) {
155 df_disp_hr = 0; 156 df_disp_hr = 0;
157//TODO: need to add support in make_human_readable_str() for "decimal human readable"
158 //if (opt & OPT_HUMANDEC)
159 // df_disp_hr--;
156 disp_units_hdr = " Size"; 160 disp_units_hdr = " Size";
157 } 161 }
158 if (opt & OPT_INODE) 162 if (opt & OPT_INODE)
diff --git a/coreutils/touch.c b/coreutils/touch.c
index 78100ba1d..7e13a27be 100644
--- a/coreutils/touch.c
+++ b/coreutils/touch.c
@@ -140,15 +140,17 @@ int touch_main(int argc UNUSED_PARAM, char **argv)
140 if (opts & (OPT_d|OPT_t)) { 140 if (opts & (OPT_d|OPT_t)) {
141 struct tm tm_time; 141 struct tm tm_time;
142 time_t t; 142 time_t t;
143 int check_dst;
143 144
144 //memset(&tm_time, 0, sizeof(tm_time)); 145 //memset(&tm_time, 0, sizeof(tm_time));
145 /* Better than memset: makes "HH:MM" dates meaningful */ 146 /* Better than memset: makes "HH:MM" dates meaningful */
146 time(&t); 147 time(&t);
147 localtime_r(&t, &tm_time); 148 localtime_r(&t, &tm_time);
148 parse_datestr(date_str, &tm_time); 149 check_dst = parse_datestr(date_str, &tm_time);
149 150
150 /* Correct any day of week and day of year etc. fields */ 151 /* Correct any day of week and day of year etc. fields */
151 tm_time.tm_isdst = -1; /* Be sure to recheck dst */ 152 if (check_dst)
153 tm_time.tm_isdst = -1; /* recheck dst unless date is UTC */
152 t = validate_tm_time(date_str, &tm_time); 154 t = validate_tm_time(date_str, &tm_time);
153 155
154 timebuf[1].tv_sec = timebuf[0].tv_sec = t; 156 timebuf[1].tv_sec = timebuf[0].tv_sec = t;