gtimezone: parser does not handle 'slim' files correctly
In tz code 2019b, zic got a -b option that supports 'fat' and 'slim'.
https://mm.icann.org/pipermail/tz-announce/2019-July/000056.html
From the release announcement:
Fat and slim files represent the same set of timestamps and use the same TZif format as documented in tzfile(5) and in Internet RFC 8536. Fat format attempts to work around bugs or incompatibilities in older software, notably software that mishandles 64-bit TZif data or uses obsolete TZ strings like "EET-2EEST" that lack DST rules.
NetBSD 9.99.46 defaults to installing slim files now, which breaks gtimezone's parser.
For example, with the attached test code test.c there is a one-hour time difference reported in some (not all) zones:
# TZ=/usr/share/zoneinfo/Europe/Vienna date; TZ=/usr/share/zoneinfo/Europe/Vienna ./a.out
Di. Feb. 11 09:47:44 CET 2020
local time: 10:47:44
UTC time: 08:47:44
Please make the parser more robust to handle the 'slim' file format as well.