<div dir="ltr"><div>> 
...when tm_gmtoff was introduced, there was no tm_gmtoff in POSIX or, for that matter, in most UN*Xes (was it in *any* UN*Xes <span class="gmail-il">before</span> tzcode put it in?)...</div><div><br></div><div>Some tm_gmtoff history. One general note: the earliest time zone package work was influenced by what had been done for UNIX System V, BSD, and HP-UX.<br><br>A source for a UNIX System V manual:<br>    <a href="http://bitsavers.trailing-edge.com/pdf/att/3b1/999-801-312IS_ATT_UNIX_PC_System_V_Users_Manual_Volume_1.pdf">http://bitsavers.trailing-edge.com/pdf/att/3b1/999-801-312IS_ATT_UNIX_PC_System_V_Users_Manual_Volume_1.pdf</a><br>System V version 3.51 (1986) did not have tm_gmtoff.<br><br>A source for BSD-derived manuals:<br>    <a href="https://man.freebsd.org/cgi/man.cgi/help.html">https://man.freebsd.org/cgi/man.cgi/help.html</a><br>Neither HP-UX 8.07 (1991) nor HP-UX 11.22 (2002) had tm_gmtoff, so it would not have been present before those dates.<br><br>The earliest 1986 version of the time zone package (distributed on request) did not have tm_gmtoff.<br><br>The 1987-02-28 version of the time zone package distributed via USENET's mod.sources did have tm_gmtoff.<br>    <a href="https://groups.google.com/g/mod.sources/c/2Jq1irYs0w4">https://groups.google.com/g/mod.sources/c/2Jq1irYs0w4</a><br>tm_gmtoff and tm_zone were added at the same time; there's material in the IANA mailing list archive in late 1986 and early 1987 on making additions to struct tm.<br><br>And a month after the mod.sources posting...<br>    From ado Sat Mar 28 15:13:19 1987<br>    To: tz<br>    Subject: Berkeley variant of time zone stuff<br>    Status: RO<br>    ...<br>    Berkeley forged ahead and added the "tm_gmtoff" and "tm_zone" elements to<br>    the tm structure.<br>    ...<br>...meaning that it wasn't present in BSD before then.<br><br>    @dashdashdo

</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Jan 6, 2024 at 7:07 PM Guy Harris via tz <<a href="mailto:tz@iana.org">tz@iana.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Jan 6, 2024, at 3:35 PM, Paul Eggert <<a href="mailto:eggert@cs.ucla.edu" target="_blank">eggert@cs.ucla.edu</a>> wrote:<br>
<br>
> On 2024-01-06 14:51, Guy Harris via tz wrote:<br>
> <br>
>> POSIX's time API has no notion of "gmtoff" and "stdoff".<br>
> <br>
> Although that's true for current POSIX, POSIX 202x/D3 does have tm_gmtoff in struct tm, as a result of Austin Group Defect 1533 <<a href="https://austingroupbugs.net/view.php?id=1533" rel="noreferrer" target="_blank">https://austingroupbugs.net/view.php?id=1533</a>> which saw steffen and kre as contributors.<br>
<br>
Yes, I know, I signed up for the list so that I could read the draft.<br>
<br>
But there's no tm_stdoff, so it wasn't obvious that "gmtoff" and "stdoff" were referring to values in struct tm, and Brooks Harris said<br>
<br>
> I just meant the values of gmtoff and stdoff are adjusted to satisfy Posix-time rather than reflect the values in the source files.<br>
<br>
but tm_gmtoff is currently obviously not "adjusted to satisfy Posix-time" as, when tm_gmtoff was introduced, there was no tm_gmtoff in POSIX or, for that matter, in most UN*Xes (was it in *any* UN*Xes before tzcode put it in?), and it's also not "adjusted", it's just the current offset as calculated from the values in the source files.<br>
<br>
And, as there's no "tm_stdoff" value even now, there's nothing *to* adjust about stdoff.</blockquote></div>