On Thu, Mar 21, 2013, at 14:43, Ángel González wrote:
I would begin by asking you what do you mean by a port of tzcode, I would usually understand that as making sure all functions provided by tz compile and work under windows/MSVC, but you seem to want something more like 'reimplement based in tz all time related functions available in Windows'.
All time related functions _in MSVCRT_. I'm not talking about implementing the SystemTime/FileTime/etc family of functions from kernel32.dll, or even time(). You do realize that tzcode implements important C library functions like tzset, right? Substituting its implementation of tzset will make any remaining MSVCRT functions simply fail to function at all: i.e. if I leave MSVCRT's localtime_s alone, it won't know what timezone it's in because the internal variables set by MSVCRT's tzset never got set. Some of these are standard functions, too - as I mentioned, the localtime_s (and related functions) are in a C11 annex. ftime isn't a function unique to microsoft, it's an old unix function. The locale support I was talking about for strftime isn't even related to the port, I was just being thorough in listing all missing functionality I'd noticed. Now, those problems aren't necessarily real problems _if absolutely nothing but zdump is ever going to use it_, which is part of why I was asking,, what is the purpose of tzcode (and specifically of the library functions in it). If it's just meant as a reference implementation, or just to support zdump, then none of this is necessary. But then why build libtz.a at all?