[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-hackers] [PATCH] Fix for #1014 and minor cleanup of posix{w
From: |
Peter Bex |
Subject: |
Re: [Chicken-hackers] [PATCH] Fix for #1014 and minor cleanup of posix{win, unix} implementations |
Date: |
Sat, 25 May 2013 18:02:32 +0200 |
User-agent: |
Mutt/1.4.2.3i |
On Sat, May 25, 2013 at 10:29:55AM -0500, Jim Ursetto wrote:
>
> On May 25, 2013, at 4:46 AM, Peter Bex <address@hidden> wrote:
>
> > There are also some memsets still left in the code after your patch,
> > so some get initialized using C_tm_init, and some using memset.
>
> Only strptime gets initialized with C_tm_init, and the rest with memset.
> strptime produces a time vector (C_tm_get), while the others deconstruct one
> (C_tm_set). So these initializations are for two different purposes, i.e.:
>
> The memset zeroes out the struct before we copy *all* fields in from a Scheme
> vector (in case there are hidden fields). The C_tm_init zeroes out the
> struct and sets a few sane default values. It is only strptime that needs
> this extra initialization, as it's the only call for which we may have only
> partial information. This is basically equivalent to creating a Scheme
> vector with sane default values and copying it in using C_tm_set(), like the
> others do, just implemented in C without needing a fresh default time vector.
>
> Just want to make sure you are aware of this. I assumed the existing code
> uses a static buffer for efficiency to minimize garbage.
Yeah, I figured the same. I doubt it's going to make much of a
difference in most cases.
What do the other -hackers think of this?
Cheers,
Peter
--
http://www.more-magic.net