Time zone confusion and implementation hints

lennox at cs.columbia.edu lennox at cs.columbia.edu
Tue Jul 6 21:14:49 UTC 2010


On Wednesday, July 7 2010, "Robert Elz" wrote to "tz at lecserver.nci.nih.gov" saying:

> Just make a link() function that does
> 	link() { return -1; }
> That will be enough to cause zic to fall back to symlinks() instead,
> and those should work on Windows.

Symbolic links only exist on Windows Vista or later (and only on NTFS), and
there's no symlink() system function -- you'd have to wrap
CreateSymbolicLink.

Shortcut files (.lnk files) have existed for a very long time, but they're a
higher-level abstraction which is opaque to low-level file system calls
(i.e., the low-level APIs just see the file with the .lnk extension).

This is why I recommended that the tzcode be built with -DHAVE_SYMLINK=0 for
MinGW.

If you have neither a working link() nor a working symlink(), zic bails out
at the first Link in the tzdata, which happens to be Antarctica/South_Pole
-> Antarctica/McMurdo.

-- 
Jonathan Lennox
lennox at cs.columbia.edu



More information about the tz mailing list