chicken-hackers
[Top][All Lists]
Advanced

[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: Jim Ursetto
Subject: Re: [Chicken-hackers] [PATCH] Fix for #1014 and minor cleanup of posix{win, unix} implementations
Date: Sat, 25 May 2013 10:29:55 -0500

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.

Jim


reply via email to

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