From: Paul Eggert <eggert@cs.ucla.edu> Date: Sat, 20 Jan 2018 12:49:01 -0800 Subject: Re: [tz] Irish Standard Time vs Irish Summer Time | An API standard could allow tm_zone to be either a char | array or a char const * pointer, While it is obviously possible, I'd suggest not the array form -- coming up with something that is big enough to withstand possible future abbreviations, without ABI problems, or being forced to arbitrarily limit their lengths to meet the lowest common value of what the various implementations have chosen would be just too hard to live with. (And having implementations make it be absurdly large, like 128 or something, just in case, would be just plain wasteful.) I'd just forget that and assume it will be a pointer (to a const char *). | If tm_zone is a pointer, its lifetime | would be that of the corresponding timezone_t object Agreed. For the majority of programs that don't call tzset, that means for the lifetime of the program. For those that do, it is easy to manage. kre