Jeff King <p...@peff.net> writes:
> To make matters more fun, apparently there are multiple variants of
> qsort_r with different argument orders. _And_ apparently Microsoft
> defines qsort_s, but it's not quite the same thing. But all of that can
> be dealt with by having more specific flags (HAVE_GNU_QSORT_R, etc).
> It just seems like we should be able to do a better job of using the
> system qsort in many cases.
If we were to go that route, perhaps we shouldn't have HAVE_QSORT_S
so that Microsoft folks won't define it by mistake (instead perhaps
call it HAVE_ISO_QSORT_S or something).
I like your suggestion in general. The body of git_qsort_s() on
systems without ISO_QSORT_S can do
- GNU qsort_r() without any change in the parameters,
- Microsoft qsort_s() with parameter reordered, or
- Apple/BSD qsort_r() with parameter reordered.
and that would cover the major platforms.
Eh, wait. BSD and Microsoft have paramters reordered in the
callback comparison function. I suspect that would not fly very