X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/3d4623ef62a6ee5b91e3b20e5ed4c938ebba2b05..2b60a54adb3b0bf5a9b927708085492b816a6015:/sbr/datetime.c diff --git a/sbr/datetime.c b/sbr/datetime.c index 693c49ea..9ecff53c 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, @@ -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. */ @@ -451,7 +452,7 @@ format_datetime (tzdesc_t timezones, const contentline *node) { return NULL; } - dst = dt[1] > transition[0] ? 0 : 1; + dst = dt[1] <= transition[0]; } }