From ado Tue Nov 25 00:58:12 1986
From: ado (Arthur David Olson)
Date: Mon, 24 Nov 86 19:58:12 EST
Subject: seismo!elsie!tz ; new versions of time zone stuff
Message-ID: <8611250058.AA04656@elsie.UUCP>

Now that we've moved from 4.1BSD to 4.3BSD here at elsie,
I've set things up so that mail sent to
seismo!elsie!tz
will go to folks who've expressed an interest in time zone matters.
The address
seismo!elsie!tz-requests
may be used for administrative matters. Currently on the list:
ado at elsie.UUCP
chris at umcp-cs.UUCP
mark at cbosgd.ATT.COM
kre at munnari.OZ
dlm at cuuxb.ATT.COM
devine at vianet.UUCP
bob at anvil.UUCP
rgt at hpfcdg.UUCP
guy at sun.UUCP
If you want to be removed from the list, or know of someone to add to the list,
let me know.

*******************************************************************************

And now the real news: new versions of the time zone compiler, the
ctime et al. library, and the time zone data are available. Guy Harris
provided the bulk of the ideas and work that went into the new versions,
but should be held innocent of any blame for errors since I've tinkered
with Guy's work (in part to try for more compatibility with System V and
the work of rgt at hpfcdg.UUCP, who's the time zone person at Hewlett-Packard).

The important differences:

* There's a new format for the binary versions of time zone information
files, designed to allow the files to be used by both big-endian and
little-endian machines in shared file environments.

* Up to now, a call of "localtime" caused the global variable "tz_abbr"
to be set to point to the time zone abbreviation that was appropriate
for use with the converted time. Now, "localtime" stores the pointer
in tzname[*localtime()->tm_isdt], which is where System V programs
have expected to find it.

* Also for System V compatability, the function tzset is provided--
it just does a settz(NULL).

* And the compiler is now a bit smarter--if you feed it something like:

# Zone NAME GMTOFF RULE/SAVE FORMAT [UNTIL]
Zone US/Hawaii -10:30 USA H%sT 1933 Apr 30 2:00
-10:30 1:00 HDT 1933 May 1 2:00
-10:30 USA H%sT 1947 Jun 8 2:00
-10:00 - HST

it will apply the normal USA rules in Hawaii until April 30, 1933,
then do Hawaii's day's worth of daylight saving,
then switch back to standard rules until June 8, 1947,
and finally go on to permanent standard time thereafter. 
This does a lot to shorten (if not simplify) the compiler's input files.

If you'd like copies of the new versions, let me know.
Once the new stuff has made the rounds, I'm hoping to get the benefit of
other perspectives on what more can be done to bring this work,
Hewlett-Packard's work, System V, and BSD closer together.

--ado