Date: Wed, 20 Feb 2013 10:49:32 +0100 From: Giorgos Keramidas <keramida@FreeBSD.org> To: David Chisnall <theraven@FreeBSD.org> Cc: svn-src-head@FreeBSD.org, mdf@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r247014 - head/lib/libc/stdlib Message-ID: <20130220094930.GB26651@saturn> In-Reply-To: <79B2F826-6CB5-4CD5-8C7D-8220833403EF@FreeBSD.org> References: <201302192357.r1JNveLq039940@svn.freebsd.org> <CAMBSHm-ZPNAYj1tqs%2B8paYJgn69=zPe5O-tsn1dvn4t2156muA@mail.gmail.com> <79B2F826-6CB5-4CD5-8C7D-8220833403EF@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2013-02-20 09:32, David Chisnall <theraven@FreeBSD.org> wrote: > On 20 Feb 2013, at 08:25, mdf@FreeBSD.org wrote: > > These should be declared const int *. And the cast shouldn't be > > needed in C, since void * can be assigned to any other pointer type. > > In fact, the entire function body can be replaced with: > > return (*(int*)p1 - *(int*)p2); > > qsort doesn't require that you return -1, 0, or 1, it requires you return <0, 0, or >0. That's true. Since we are trying to document the interface, I'd prefer if we don't compress the comparison too much. Would something like this be ok too? int int_compare(const void *p1, const void *p2) { const int *left = p1; const int *right = p2; return (*left - *right); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130220094930.GB26651>