chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] utc-time->seconds and local-time->seconds rationale?


From: Michele La Monaca
Subject: Re: [Chicken-users] utc-time->seconds and local-time->seconds rationale?
Date: Wed, 7 May 2014 23:27:09 +0200

Attached a fixed and tested (cygwin, solaris) patch.

Regards,
Michele

On Wed, May 7, 2014 at 4:46 PM, John Cowan <address@hidden> wrote:
> Peter Bex scripsit:
>
>> In my opinion, large parts of the POSIX unit should die.  They're broken,
>> at the wrong level of abstraction and just generally unschemely.  The
>> reason these time things are breaking is because the libc time access
>> is so varying across operating systems.
>
> In this case, it's a plain implementation failure:  the simulation for
> tm_gmtoff on non-GNU/BSD systems is broken.  Here's a patch:
>
> --- runtime.c.orig      2014-05-07 10:19:44.108430900 -0400
> +++ runtime.c   2014-05-07 10:21:11.024402300 -0400
> @@ -8180,9 +8180,9 @@
>                    /* negative for west of UTC, but we want positive */
>                   C_fix(-tmt->tm_gmtoff)
>  #elif defined(__CYGWIN__) || defined(__MINGW32__) || defined(_WIN32) || 
> defined(__WINNT__)
> -                  C_fix(mode == C_SCHEME_FALSE ? _timezone : 0) /* does not 
> account for DST */
> +                  C_fix(mode == C_SCHEME_FALSE ? _timezone - _daylight * 
> 3600 : 0)
>  #else
> -                  C_fix(mode == C_SCHEME_FALSE ? timezone : 0)  /* does not 
> account for DST */
> +                  C_fix(mode == C_SCHEME_FALSE ? timezone - daylight * 3600 
> : 0)
>  #endif
>                   );
>    C_kontinue(k, info);
>
>
> I don't know why whoever wrote this simply added a comment saying DST
> was not taken into account instead of taking it into account.  Actually,
> avoiding tm_gmtoff altogether would be more portable.
>
> --
> John Cowan          http://www.ccil.org/~cowan        address@hidden
> But that, he realized, was a foolish thought; as no one knew better than
> he that the Wall had no other side.
>         --Arthur C. Clarke, "The Wall of Darkness"

Attachment: 0001-fix-timezone-offset-on-platforms-with-no-tm_gmtoff.patch
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]