Setting TZ may break time() in non-Cygwin programs

Christian Franke Christian.Franke@t-online.de
Fri Mar 2 21:35:00 GMT 2012


Corinna Vinschen wrote:
> On Mar  1 21:15, Christian Franke wrote:
>> TZ environment variable is set by default since base-files 4.0.7.
>>
>> Unfortunately this breaks the time() calculation for all non-Cygwin
>> programs run from Cygwin if Microsoft C runtime (mscrt*.dll) is
>> used. MS CRT evaluates TZ but supports only a very old syntax
>> subset. IIRC this is the case since VS1.x (DOS/Win16) and did not
>> change since at least VS10.
> I'm sorry, but I really don't care enough.  If that's a problem, then
> just unset TZ in your environment before calling non-Cygwin tools, no?

Of course, after tracking down the problem to the new TZ it is now easy 
to unset it :-)

No problem in scripts, but inconvenient and error prone for interactive use.


> But, as usual, PTC.

OK, ...

>
> Simple: Unset TZ for Win32 programs run from Cygwin.
>
> More flexible: Set (unset) TZ=CYGWIN_WINENV_TZ if this variable is set 
> (to empty). Otherwise keep TZ as is.
>

would a patch for any of the above have a chance to get accepted?

Christian


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list