[PATCH v2] libbb: fix time parsing of [[CC]YY]MMDDhhmm[.SS]
Natanael Copa
ncopa at alpinelinux.org
Thu May 19 15:31:59 UTC 2016
If SS is not given a value, it is assumed to be zero.
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/touch.html
closes 8951
Signed-off-by: Natanael Copa <ncopa at alpinelinux.org>
---
V1 -> V2 changes:
- always set seconds to 0. If you for example do: `touch -t 1100 somefile`
you will expect to set timestamp to 11:00:00 AM not, 11:00:<current sec>
libbb/time.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/libbb/time.c b/libbb/time.c
index aa19a47..82e6cb1 100644
--- a/libbb/time.c
+++ b/libbb/time.c
@@ -186,6 +186,7 @@ void FAST_FUNC parse_datestr(const char *date_str, struct tm *ptm)
} else {
bb_error_msg_and_die(bb_msg_invalid_date, date_str);
}
+ ptm->tm_sec = 0; /* assume zero if [.SS] is not given */
if (end == '.') {
/* xxx.SS */
if (sscanf(strchr(date_str, '.') + 1, "%u%c",
--
2.8.2
More information about the busybox
mailing list