[tz] Irish Standard Time vs Irish Summer Time

Guy Harris guy at alum.mit.edu
Sat Jan 20 05:01:04 UTC 2018

On Jan 19, 2018, at 8:10 PM, Christos Zoulas <christos at zoulas.com> wrote:

> If we are going to standardize those two, I think that tm_zone
> should become an array instead of a pointer,

That breaks binary compatibility on any OS that has tm_zone and documents it; that matters, at minimum, with any OS from Cupertino, so I very much doubt Apple will pick that up.

> or at least the "char *" pointer lifetime and ownership should be defined.

That's more work, but it doesn't break binary compatibility.

> Also if we are changing tm_zone, then tm_gmtoff should be an int not a long.

Same binary-compatibility problem, at least on LP64 platforms.

> Does anyone remember why it was chosen to be a long? 16 bit integers
> on pdp 11? Does "struct tm" go that far back?

struct tm goes all the way back to, at minimum, V7, which definitely ran on PDP-11's.

tm_zone doesn't go back as far, and the PDP-11 may not have been a concern at that point, but there may have still have been ILP16 or I16LP32 platforms at the time.

More information about the tz mailing list