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