[tz] [PATCH] Support building zic.exe and zdump.exe natively on Windows with Visual Studio nmake.
Paul Eggert
eggert at cs.ucla.edu
Thu Feb 8 05:53:55 UTC 2018
Manuela Friedrich wrote:
> In zdump localtime_r() was calling localtime() but it crashed after the return from localtime because there was no prototype for localtime
Why not? zdump.c includes private.h, which includes time.h, and that should
should declare a prototype for localtime, according to this page:
https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/localtime-localtime32-localtime64
> Therefore it is crucial for us to have the dos specifier check in tzloadbody().
> This change won’t affect the behaviour on Unix and using a full path works fine on Unix.
It does affect the behavior on Unix, as file names like "a:b" are valid relative
file names whereas the proposed code would treat them as absolute.
Can you use UNC names instead? Perhaps something starting with // will do the
trick. Or if that doesn't work, perhaps you can set TZDIR=/ when running 'make',
and then cd to the appropriate drive root before running zdump and/or zic and
then use a path relative to that drive root. At any rate, I'm not sure it's a
good idea for portable code to worry about these ins and outs of MS-Windows file
name conventions.
More information about the tz
mailing list