git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/3] compat: add qsort_s()

From
Jeff King <peff@peff.net>
Date
Dec 1, 2016, 20:26 UTC
Message-ID
<20161201202602.sfs6ycmh32ib5ed7@sigill.intra.peff.net>
In-Reply-To
<xmqqy3zz8kmq.fsf@gitster.mtv.corp.google.com>
On Thu, Dec 01, 2016 at 12:22:37PM -0800, Junio C Hamano wrote:
Show 7 quoted lines
> Junio C Hamano <gitster@pobox.com> writes:
> 
> > Eh, wait.  BSD and Microsoft have paramters reordered in the
> > callback comparison function.  I suspect that would not fly very
> > well.
> 
> Hmm.  We could do it like this, which may not be too bad.
Heh. Exactly, but I was too lazy to write it out in my other email. :)
The no-cost version would be more like:

#ifdef APPLE_QSORT_R #define DECLARE_CMP(func) int func(void *data, const void *va, const void *vb) #else #define DECLARE_CMP(func) int func(const void *va, const void *vb, void *data) #endif

and then:
  DECLARE_CMP(foocmp);
  ...
  DECLARE_CMP(foocmp)
  {
	const struct foo *a = va, *b = vb;
	... etc ...
  }
-Peff
Previous: Junio C HamanoNext: René Scharfe
Message 11 of 16 in “string-list: make string_list_sort() reentrant”
  1. 0/3 string-list: make string_list_sort() reentrantRené Scharfe, Dec 1, 2016
  2. 1/3 compat: add qsort_s()René Scharfe, Dec 1, 2016
  3. René ScharfeDec 1, 2016
  4. Jeff KingDec 1, 2016
  5. Junio C HamanoDec 1, 2016
  6. Jeff KingDec 1, 2016
  7. Junio C HamanoDec 1, 2016
  8. René ScharfeDec 1, 2016
  9. Junio C HamanoDec 1, 2016
  10. Junio C HamanoDec 1, 2016
  11. Jeff KingDec 1, 2016
  12. René ScharfeDec 12, 2016
  13. Jeff KingDec 12, 2016
  14. René ScharfeDec 21, 2016
  15. 2/3 add QSORT_SRené Scharfe, Dec 1, 2016
  16. 3/3 string-list: use QSORT_S in string_list_sort()René Scharfe, Dec 1, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.