[Patch] gethostbyname2 again

Pierre A. Humblet pierre@phumblet.no-ip.org
Tue Mar 3 17:50:00 GMT 2009


----- Original Message ----- 
From: "Christopher Faylor" <>
To: <cygwin-patches@cygwin.com>
Sent: Tuesday, March 03, 2009 10:38 AM
Subject: Re: [Patch] gethostbyname2 again


| On Mon, Mar 02, 2009 at 08:36:55PM -0500, Pierre A. Humblet wrote:
| >    realloc_ent function, and call it from both dup_ent and the helper. That 
| > caused minor
| >    changes in the 4 versions of dup_ent, and I don't know exactly what 
| > format to use in the ChangeLog
| 
| I would rather that you keep dup_ent as is so that there is no need to
| do run-time checks on the type.  If you need to do something similar to
| what is currently in dupent, then couldn't you still create a
| realloc_ent but just pass in the destination pointer?  Or even just make
| realloc_ent mimic realloc but do the rounding that seems to be the
| impetus for your breaking this out into a separate function.

Chris,

The impetus is that the new helper function is capable of formatting a fine
hostent in a single block of memory. So it doesn't need to have dup_ent
copy it in yet another memory block.

However it still needs to store a pointer to the block of memory somewhere,
so that it can be freed later, and reusing the tls.locals seems logical. If it does
that, then it must also free or realloc whatever is stored there.
That's what realloc_ent does.
The rounding is not essential, it's just nice to do it consistently in one place.

To avoid real-time checks, I could do as what dup_ent does, and have 4 versions
of the realloc_ent function, one main one with dst and sz arguments (that one
would be called by dup_ent without any  run-time checks) and 3 (actually only
1 is needed for now) that invoke the main one with the correct dst based on the
type of the src argument . The src argument would be null but would have the
right type! That seems to meet your wishes. OK?

Pierre





More information about the Cygwin-patches mailing list