Guy Harris said:
Guy Harris said:
1. The ISO C API (localtime()) has a notion of "Daylight Saving Time" being in effect or not in effect, which controls whether tm_isdst is set or not.
Right.
"Daylight Saving Time" presumably refers to turning clocks forward.
No. That's not stated anywhere in ISO C - it's an assumption you've made.
OK, so what C90 says is
...Daylight Saving Time, which is a temporary change in the algorithm for determining local time. The local time zone and Daylight Saving Time are implementation-defined.
So, in the Republic of Ireland this still allows "Irish Standard Time" to be considered "Daylight Saving Time", as well as allowing "Greenwich Mean Time" to be considered "Daylight Saving Time", given that the time changes twice a year, rendering both changes "temporary".
Indeed. I agree with all that.
Thus, I *still* don't see a problem with ISO C if tm_isdst is set to 1 for Irish Standard Time,
There isn't. But there also isn't a problem if it is set to 0 for Irish Standard Time.
and the conclusion in my item 1 in the message to which you're replying is unchanged.
The first sentence (beginning "The ISO C API") is fine. The second sentence (including "presumably") is entirely your assumption and is *NOT* supported anywhere in ISO C. That's my point. Since most of the rest of your argument was predicated on it, that all falls. [I'm not taking part in this discussion for a bit - I've going to be in four TZDB zones in the next 36 hours, one currently on "standard" time, two with no bi-annual changes, and one currently on "summer" time, not necessarily in that order.] -- Clive D.W. Feather | If you lie to the compiler, Email: clive@davros.org | it will get its revenge. Web: http://www.davros.org | - Henry Spencer Mobile: +44 7973 377646