From 00385e8d0e1f83a58710ada4a210d15102542b7d Mon Sep 17 00:00:00 2001 From: Davis Mosenkovs Date: Wed, 20 Apr 2016 14:44:13 -0700 Subject: Fix touch -t seconds parsing --- toys/posix/touch.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'toys/posix/touch.c') diff --git a/toys/posix/touch.c b/toys/posix/touch.c index 052448ba..22a1e2e8 100644 --- a/toys/posix/touch.c +++ b/toys/posix/touch.c @@ -80,10 +80,13 @@ void touch_main(void) if (s) break; toybuf[1]='y'; } + tm.tm_sec = 0; ts->tv_nsec = 0; if (s && *s=='.' && sscanf(s, ".%2u%n", &(tm.tm_sec), &len) == 1) { - sscanf(s += len, "%lu%n", &ts->tv_nsec, &len); - len++; + if (sscanf(s += len, "%lu%n", &ts->tv_nsec, &len) == 1) { + s--; + len++; + } else len = 0; } else len = 0; } if (len) { -- cgit v1.2.3