* Paul Eggert:
On 2024-10-28 06:04, Florian Weimer via tz wrote:
Why do you say that the isdst bit is obsolete? The glibc implementation uses in ways that significantly alter application behavior.
tm_isdst was intended for use as an index to the external tzname array. This use is obsolete. Apps that use tzcode or glibc or any other implementation that conforms to POSIX.1-2024 should use struct tm's tm_zone member instead, as tzname does not work for geographical zones, which can have more than two abbreviations. And even apps running on older implementations that conform only to POSIX.1-2017 or earlier should use strftime "%Z" rather than tzname and tm_isdst.
It's not fringe because gmtime and localtime set tm_isdst to a non-negative value. Apparently it's common in applications to feed back those broken times into mktime without resetting tm_isdst. The current glibc behavior continues to be a problem for us, I think. Thanks, Florian