--- /dev/null
+#include <ccan/asort/asort.h>
+#include <stdlib.h>
+
+void _asort(void *base, size_t nmemb, size_t size,
+ int(*compar)(const void *, const void *, const void *ctx),
+ const void *ctx)
+{
+#if HAVE_NESTED_FUNCTIONS
+ /* This gives bogus "warning: no previous prototype for ‘cmp’"
+ * with gcc 4 with -Wmissing-prototypes. But there's no way
+ * to predeclare it, so we lose. */
+ int cmp(const void *a, const void *b)
+ {
+ return compar(a, b, ctx);
+ }
+ qsort(base, nmemb, size, cmp);
+#else
+ #error "Need to open-code quicksort?"
+ /* qsort is a classic "needed more real-life testing" API. */
+#endif
+}