From: Ralph Corderoy Date: Sat, 9 Sep 2017 11:26:40 +0000 (+0100) Subject: datetime.c: Don't atoi("0") if zone is NULL. X-Git-Url: https://diplodocus.org/git/nmh/commitdiff_plain/a284ba0d7830603e947e44db540497b01e6b7595?hp=97ed1473582676df043c03adc11997341ce391dd datetime.c: Don't atoi("0") if zone is NULL. --- diff --git a/sbr/datetime.c b/sbr/datetime.c index bcf1a9a6..9357532b 100644 --- a/sbr/datetime.c +++ b/sbr/datetime.c @@ -88,8 +88,6 @@ parse_datetime (const char *datetime, const char *zone, bool dst, the entire day. The time fields of the tws struct were initialized to 0 by the memset() above. */ if (items_matched >= 6 || items_matched == 3) { - int offset = atoi (zone ? zone : "0"); - /* struct tws defines tw_mon over [0, 11]. */ --tws->tw_mon; @@ -106,7 +104,11 @@ parse_datetime (const char *datetime, const char *zone, bool dst, - the only flag in tw_flags used is TW_DST */ tws->tw_yday = tws->tw_clock = 0; - tws->tw_zone = 60 * (offset / 100) + offset % 100; + if (zone) { + int offset = atoi(zone); + tws->tw_zone = 60 * (offset / 100) + offset % 100; + } else + tws->tw_zone = 0; if (dst) { tws->tw_zone -= 60; /* per dlocaltime() */ tws->tw_flags |= TW_DST;