Bill Seymour wrote:
it occurs to me that they might be closed lower bounds instead (the corresponding ttinfo is for the period after the transition).
Yes, I think that's right.
tzfile(5) doesn't say explicitly.
It should. Proposed patch attached.
2. Basically the same question for the array of leap seconds.
tzfile(5) says it's the leap second count "to be applied after the given time". Seems reasonably clear but I suppose it could be tightened up. See attached patch.
3. Re the version-'2' array of leap seconds: each array element is a time_t value followed by a count of the number of leap seconds after that time. tzfile(5) says that eight bytes are used for each "transition time" and "leap second time"; but since the count of leap seconds is neither of those, is the count still just four bytes?
Yes it is. Arguably this is a defect, as the total leap second count (assuming the current rules) will greatly exceed 2**32 before 64-bit time_t values are exhausted. However, almost surely we'll change our timekeeping practices well before that happens, so the defect doesn't really matter much.