diff options
author | Ron Yorston <rmy@pobox.com> | 2021-09-17 11:36:53 +0100 |
---|---|---|
committer | Ron Yorston <rmy@pobox.com> | 2021-09-17 11:38:52 +0100 |
commit | 46299d0c4f4c9a4bbad38bbbe26f196e1bccdc52 (patch) | |
tree | 6194cdabc0858ae3bed0276679b3b80a722f4150 /coreutils | |
parent | cf91de46997888b7096352805c05401e7ebae01e (diff) | |
parent | 9fe1548bbfde548d54acaab113656a56ea0ccc72 (diff) | |
download | busybox-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.c | 7 | ||||
-rw-r--r-- | coreutils/df.c | 26 | ||||
-rw-r--r-- | coreutils/touch.c | 6 |
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; |