Re: [PATCH hail] const-correctness tweaks

Jeff Garzik <[email protected]> Tue, 19 Oct 2010 18:24:34 -0400
Newsgroups org.kernel.vger.hail-devel
Message-ID <[email protected]>
On 10/06/2010 08:07 AM, Jim Meyering wrote:
>
> Make write_cb callback's buffer parameter const, like all write-like
> functions.
> Give a few "char *" parameters the "const" attribute.
>
> Signed-off-by: Jim Meyering<[email protected]>
> ---
>
> It looks like most of hail's interfaces are const-correct,
> but one stood out because it provokes a warning when I tried to
> pass a const-correct write_cb function to hstor_get from iwhd:
>
>      proxy.c:382: warning: passing argument 4 of 'hstor_get' from \
>        incompatible pointer type
>      /usr/include/hstor.h:173: note: expected \
>        'size_t (*)(void *, size_t, size_t,  void *)' but argument is =
of type \
>        'size_t (*)(const void *, size_t,  size_t,  void *)'
>
> In case you feel comfortable fixing this, here's a patch:


Sorry for not getting back to this; I had hoped to solve some additiona=
l=20
problems that cropped up, but didn't have time.  So, to forestall=20
further delay,

libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I../include -pthread=20
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include=20
-I/usr/include/libxml2 -O2 -Wall -Wshadow -g -MT hutil.lo -MD -MP -MF=20
=2Edeps/hutil.Tpo -c hutil.c -o hutil.o
hutil.c: In function =91hreq_hdr_push=92:
hutil.c:145: warning: assignment discards qualifiers from pointer targe=
t=20
type
hutil.c:146: warning: assignment discards qualifiers from pointer targe=
t=20
type

warnings appear after this patch.  When solving these warnings with=20
'const' markers, it quickly becomes a bit of a rat's nest.

At a minimum, the write_cb callback signature must match libcurl's,=20
which does not use 'const'.  I can see this makes sense from libcurl=20
implementation's perspective, even if it does not really match the=20
constness one expects from a foo-get function.

	Jeff