This is the mail archive of the mailing list for the newlib project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: How to implement qsort_r

On 2014-12-04 10:22, Corinna Vinschen wrote:
On Dec  4 07:37, Eric Blake wrote:
On 12/04/2014 01:28 AM, Corinna Vinschen wrote:
The implementation is pretty simple either way, so, yes, we could
implement both and let the header provide both as well along the lines
of strerror_r.

Alternatively, are there any known efforts to standarize the API?
Eric, any word from the Austin group in terms of qsort_r?

No one has asked about it before; I can ask, but suspect that since
there is a difference in existing implementation, it would be easier for
POSIX to standardize a different function name than qsort_r than to pick
sides on which signature to standardize.

My personal preference is the glibc style (the opaque argument last in
both qsort_r and the comparator), not the BSD style (the opaque argument
first in both calls),  This is because POSIX already has other
standardized functions in the glibc style (pthread_cleanup_push,
pthread_create), and none in the BSD styloe.

Good point.  It's easier to implement, too, with qsort simply being a
shim to qsort_r with a NULL opaque argument.  The qsort comparison
function won't even notice the extra argument.

I'll be borrowing the FreeBSD implementation either way, so that doesn't seem to be a factor. I'll proceed with the patch.

Yaakov Selkowitz
Associate Software Engineer, ARM
Red Hat, Inc.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]