On Wed, Nov 20, 2019 at 2:49 PM Paul Eggert <eggert@cs.ucla.edu> wrote:
The short answer is to run 'make date' in the tzdb distribution, to see how tzdb creates the 'date' program with its own code instead of the operating system's.
The longer answer is that tzcode doesn't provide its own <time.h> headers; it provides only alternative implementations, which you need to link to. tzcode does provide a tzfile.h header, which you can include by using the -I option (but you probably don't want to be including it).
I see. Thanks for this info! On Wed, Nov 20, 2019 at 5:08 PM Guy Harris <guy@alum.mit.edu> wrote:
Note that macOS 10.14 does:
$ ./a.out tzname[0]: CAT tzname[1]:
for TZ=CAT0 and does
$ ./a.out tzname[0]: CAT tzname[1]: DOG
for TZ=CAT0DOG.
I think the first of those two is at least as valid, if not more valid, than the
tzname[0]: CAT tzname[1]: CAT
claimed for TZ=CAT0 on Linux - the POSIX spec says that tzname[1] should be "dst", but "dst" isn't present.
I agree with you here. In behavior here, I'd rank: macOS > GNU > both tested BSDs