From 41c45e390c4a55757151f30cc984b910d5239ba9 Mon Sep 17 00:00:00 2001 From: mtm Date: Sat, 29 Mar 2003 11:55:37 +0000 Subject: Fill in the rest of the fields in the resulting struct tm from strptime(3). Previously, they would get filled only for the %s specifier and as a side effect of using the the %Z specifier with a GMT time zone. PR: misc/48993 Approved by: markm (mentor) Silence on: -standards --- lib/libc/stdtime/strptime.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/libc/stdtime/strptime.c b/lib/libc/stdtime/strptime.c index f69847a..21a47f7 100644 --- a/lib/libc/stdtime/strptime.c +++ b/lib/libc/stdtime/strptime.c @@ -518,12 +518,13 @@ strptime(const char * __restrict buf, const char * __restrict fmt, struct tm * __restrict tm) { char *ret; + time_t t; int gmt; gmt = 0; ret = _strptime(buf, fmt, tm, &gmt); - if (ret && gmt) { - time_t t = timegm(tm); + if (ret) { + t = gmt ? timegm(tm) : mktime(tm); localtime_r(&t, tm); } -- cgit v1.1