apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Fritsch ...@sfritsch.de>
Subject Re: svn commit: r1207680 - in /apr/apr/trunk: crypto/apr_crypto_nss.c dbd/apr_dbd_sqlite3.c dbm/apr_dbm_sdbm.c test/testreslist.c util-misc/apr_thread_pool.c
Date Thu, 01 Dec 2011 21:34:13 GMT
On Tuesday 29 November 2011, William A. Rowe Jr. wrote:
> On 11/28/2011 5:32 PM, William A. Rowe Jr. wrote:
> > On 11/28/2011 5:29 PM, Graham Leggett wrote:
> >> On 29 Nov 2011, at 01:21, William A. Rowe Jr. wrote:
> >>>> - rv = apr_sdbm_nextkey(dbm->file,&rd);
> >>>> + apr_sdbm_nextkey(dbm->file,&rd);
> >>>> 
> >>>> pkey->dptr = rd.dptr;
> >>>> pkey->dsize = rd.dsize;
> >> 
> >> apr-trunk contains the following explanation for this, I
> >> understand it's intended (sf?):
> >> 
> >> /*
> >> * XXX: This discards any error but apr_sdbm_nextkey currently
> >> returns * XXX: an error for the last key
> >> */
> > 
> > Interesting. Good if that's the only case; it still seems odd ;-)

The error handling of apr_sdbm_nextkey is broken, but I don't remember 
the details.

> FWIW, isn't this invalid on some builds?
> 
> Don't you need to cast the ignored function rv to null?
> 
> Seems to be trading your warning for someone elses' warning.
> 
> E.g.
> 
>      (void)apr_sdbm_nextkey(dbm->file, &rd);

IMHO this should only be necessary if apr_sdbm_nextkey() had attribute 
warn_unused_result.

Mime
View raw message