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

Christian Franke Christian.Franke@t-online.de
Wed Apr 11 18:53:00 GMT 2012


On Mar 4, Corinna Vinschen wrote:
> On Mar  4 19:42, Christian Franke wrote:
>> Corinna Vinschen wrote:
>>> On Mar  2 22:35, Christian Franke wrote:
>>>> Corinna Vinschen wrote:
>>>>> 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?
>>> If it's not getting too complicated, yes.  However, the second idea
>>> I don't understand.  Can you explain this differently?
>>>
>> Let another variable change the value passed to Windows environment:
>>
>> $ printenv TZ
>> Europe/Berlin
>>
>> $ cmd /c echo %TZ%
>> Europe/Berlin
>>
>> $ export CYGWIN_WINENV_TZ=CET-1CEST
>>
>> $ printenv TZ
>> Europe/Berlin
>>
>> $ cmd /c echo %TZ%
>> CET-1CEST
>>
>> $ export CYGWIN_WINENV_TZ=
>>
>> $ cmd /c echo %TZ%
>> %TZ% (which means TZ is not set)
> Hmm.  I think just unsetting TZ should be sufficient.  MSVCRT uses the
> current timezone as default anyway, doesn't it?
>
>

Yes. Patch is attached.

Christian

-------------- next part --------------
A non-text attachment was scrubbed...
Name: no-win32-tz.patch
Type: text/x-diff
Size: 823 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20120411/bd39fd6a/attachment.bin>


More information about the Cygwin-patches mailing list