blob: 9bd5075454a86945a59e1a16689ccaf7ff61706b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
From 1a3d9fb9074dc746326e6fa98c3eb499f6a6e048 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Thu, 19 May 2016 16:17:32 +0200
Subject: [PATCH] libbb: fix time parsing of [[CC]YY]MMDDhhmm[.SS]
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@alpinelinux.org>
---
libbb/time.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/libbb/time.c b/libbb/time.c
index aa19a47..44dd4aa 100644
--- a/libbb/time.c
+++ b/libbb/time.c
@@ -159,6 +159,8 @@ void FAST_FUNC parse_datestr(const char *date_str, struct tm *ptm)
&ptm->tm_hour,
&ptm->tm_min,
&end) >= 5) {
+ /* assume zero if [.SS] is not given */
+ ptm->tm_sec = 0;
/* Adjust month from 1-12 to 0-11 */
ptm->tm_mon -= 1;
if ((int)cur_year >= 50) { /* >= 1950 */
@@ -181,6 +183,8 @@ void FAST_FUNC parse_datestr(const char *date_str, struct tm *ptm)
&ptm->tm_hour,
&ptm->tm_min,
&end) >= 5) {
+ /* assume zero if [.SS] is not given */
+ ptm->tm_sec = 0;
ptm->tm_year -= 1900; /* Adjust years */
ptm->tm_mon -= 1; /* Adjust month from 1-12 to 0-11 */
} else {
--
2.8.2
|