X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/9674a6207f8a58010d560d60091a626b12ab0e3a..ed4e21fb32d214ed9c45d0bd4eac9d3dd8ee6c9d:/sbr/datetime.c?ds=sidebyside diff --git a/sbr/datetime.c b/sbr/datetime.c index 8b21e69b..68038cfc 100644 --- a/sbr/datetime.c +++ b/sbr/datetime.c @@ -10,6 +10,7 @@ #include #include "h/tws.h" #include "h/utils.h" +#include "unquote.h" /* * This doesn't try to support all of the myriad date-time formats @@ -63,7 +64,7 @@ parse_datetime (const char *datetime, const char *zone, int dst, int form_1 = 0; int items_matched; - memset(tws, 0, sizeof *tws); + ZERO(tws); items_matched = sscanf (datetime, "%4d%2d%2dT%2d%2d%2d%c", &tws->tw_year, &tws->tw_mon, &tws->tw_mday, @@ -74,7 +75,7 @@ parse_datetime (const char *datetime, const char *zone, int dst, if (items_matched == 7) { /* The 'Z' must be capital according to RFC 5545 Sec. 3.3.5. */ if (utc_indicator != 'Z') { - inform("%s has invalid timezone indicator of 0x%x", + inform("%s has invalid timezone-indicator byte: %#x", datetime, utc_indicator); return NOTOK; } @@ -170,7 +171,7 @@ load_timezones (const contentline *clines) { if (in_standard) { in_standard = 0; } else if (in_daylight) { in_daylight = 0; } if (parse_datetime (params->dtstart, params->offsetfrom, - in_daylight ? 1 : 0, + in_daylight, &tws) == OK) { if (tws.tw_year >= 1970) { /* dmktime() falls apart for, e.g., the year 1601. */