On 11/22/2017 01:49 PM, Paul Eggert wrote:
On 11/22/2017 02:30 AM, Zefram wrote:
The binary tzfile usually provides a ruleset applicable to indefinitely many years, in the form of a POSIX TZ string. But that's not the current rules, it's the rules to be applied when all of the file's explicit transitions have run out.
Changing the subject (and subject line)....
Currently zic generates a bunch of explicit transitions at the end of the time transition table, even if these transitions merely repeat what a TZ string would generate. This is to support older clients that grok only version-1 tzfile format, and which don't know about the TZ string (which was introduced in version 2 tzfile format). Since version 2 format was introduced in release 2006b, I'm thinking now may be a good time to add an option to zic to suppress explicit transitions at the end of the table if these transitions agree with the TZ string. This will help uncover buggy client code that mishandles TZ string values and therefore mishandles future timestamps. By default this option will be off now (meaning no change to the default behavior), but we could turn it on later.
This option makes sense to me. Would it also be possible to have this option (or a separate one) create the first header and body (32-bit time values) with counts of zero? All of the data that would appear in that body is duplicated in the second body anyways. -- Kenneth Murchison Cyrus Development Team FastMail Pty Ltd