Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | Tim Rentsch <txr@alumni.caltech.edu> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: qsort man page |
| Date | 2012-09-07 11:38 -0700 |
| Organization | A noiseless patient Spider |
| Message-ID | <kfn627pisps.fsf@x-alumni2.alumni.caltech.edu> (permalink) |
| References | <89644623-7e1c-4f8b-9f4d-6443526f0f73@u2g2000yqj.googlegroups.com> <0.7b858dd95d3281469ee0.20120721225709BST.87boj893re.fsf@bsb.me.uk> <500B7D7F.7CA2@mindspring.com> <0.58ba0ee876bab752444c.20120722144128BST.871uk37w1j.fsf@bsb.me.uk> |
Ben Bacarisse <ben.usenet@bsb.me.uk> writes:
> pete <pfiland@mindspring.com> writes:
>
>> Ben Bacarisse wrote:
>>>
>>> Bill Cunningham <billcun@suddenlink.net> writes:
> <snip>
>>> > #include <stdio.h>
>>> > #include <stdlib.h>
>>> > #include <string.h>
>>> > static int
>>> > cmpstringp(const void *p1, const void *p2)
>>> > {
>>> > /* The actual arguments to this function are "pointers to
>>> > pointers to char", but strcmp(3) arguments are "pointers
>>> > to char", hence the following cast plus dereference */
>>> > return strcmp(* (char * const *) p1, * (char * const *) p2);
>>> > }
>>
>> I think that the way that the const keyword
>> is used in the return statement,
>> shows some confusion on the part of the author.
>>
>> It causes the result of the dereference
>> in the strcmp function call, to be const qualified,
>> which is neither required nor consistent
>> with the parameters of strcmp
>> being pointers to const qualified types.
>
> I am not so sure. The const that is there is a Good Const. Omitting it
> might cause a warning (gcc will oblige) about "casting away" const. The
> question as to whether there should be another:
>
> *(const char *const *)p1
>
> is not clear cut to me. The cast, as written, is a correct reflection
> of the object being sorted, and there is some documentary merit in doing
> that -- cast only to the type of the thing being sorted. [snip]
It is a correct reflection of the object being _compared_.
It is not a correct reflection of the object being _sorted_,
which must be writable so it can be moved within the larger
array.
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
qsort man page Bill Cunningham <billcun@suddenlink.net> - 2012-07-21 14:14 -0700
Re: qsort man page Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-07-21 22:57 +0100
Re: qsort man page Bill Cunningham <billcun@suddenlink.net> - 2012-07-21 18:07 -0700
Re: qsort man page Mark Storkamp <mstorkamp@yahoo.com> - 2012-07-23 08:49 -0500
Re: qsort man page Bill Cunningham <billcun@suddenlink.net> - 2012-07-23 10:44 -0700
Re: qsort man page tom st denis <tom@iahu.ca> - 2012-07-26 09:02 -0700
Re: qsort man page John Gordon <gordon@panix.com> - 2012-07-26 16:41 +0000
Re: qsort man page tom st denis <tom@iahu.ca> - 2012-07-26 09:59 -0700
Re: qsort man page Ike Naar <ike@sverige.freeshell.org> - 2012-07-23 14:43 +0000
Re: qsort man page Bill Cunningham <billcun@suddenlink.net> - 2012-07-23 13:16 -0700
Re: qsort man page Barry Schwarz <schwarz45@yahoo.com> - 2012-07-23 13:29 -0700
Re: qsort man page Bill Cunningham <billcun@suddenlink.net> - 2012-07-23 16:56 -0700
Re: qsort man page Noob <root@localhost> - 2012-07-24 09:29 +0200
Re: qsort man page Keith Thompson <kst-u@mib.org> - 2012-07-24 23:17 -0700
Re: qsort man page Barry Schwarz <schwarz45@yahoo.com> - 2012-07-25 09:51 -0700
Re: qsort man page Bill Cunningham <billcun@suddenlink.net> - 2012-07-25 20:51 -0700
Re: qsort man page Barry Schwarz <schwarz45@yahoo.com> - 2012-07-26 14:27 -0700
Re: qsort man page Bill Cunningham <billcun@suddenlink.net> - 2012-07-26 18:20 -0700
Re: qsort man page Barry Schwarz <schwarz45@yahoo.com> - 2012-07-28 07:24 -0700
Re: qsort man page pete <pfiland@mindspring.com> - 2012-07-23 23:39 -0400
Re: qsort man page pete <pfiland@mindspring.com> - 2012-07-22 00:11 -0400
Re: qsort man page Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-07-22 14:41 +0100
Re: qsort man page pete <pfiland@mindspring.com> - 2012-07-22 13:01 -0400
Re: qsort man page Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-07-22 21:36 +0100
Re: qsort man page pete <pfiland@mindspring.com> - 2012-07-23 22:40 -0400
Re: qsort man page pacman@kosh.dhis.org (Alan Curry) - 2012-07-24 04:29 +0000
Re: qsort man page Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-07-24 11:40 +0100
Re: qsort man page pete <pfiland@mindspring.com> - 2012-07-24 22:06 -0400
Re: qsort man page Tim Rentsch <txr@alumni.caltech.edu> - 2012-09-07 11:38 -0700
Re: qsort man page pete <pfiland@mindspring.com> - 2012-07-23 23:34 -0400
Re: qsort man page pete <pfiland@mindspring.com> - 2012-07-24 00:07 -0400
Re: qsort man page "christian.bau" <christian.bau@cbau.wanadoo.co.uk> - 2012-07-24 16:36 -0700
csiph-web