X-Git-Url: https://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Fasort%2Fasort.h;h=731f9bde4cc1e868bec846c19dff1b7502fc204b;hp=1139238e197d82c269ba5ac972295c6d4a22d5d1;hb=f4b1f445a7b21b1599530afb897ef54efe15479d;hpb=009f261242b7e1f5482e097315c82a4185a708bf diff --git a/ccan/asort/asort.h b/ccan/asort/asort.h index 1139238e..731f9bde 100644 --- a/ccan/asort/asort.h +++ b/ccan/asort/asort.h @@ -16,19 +16,13 @@ * The @cmp function should exactly match the type of the @base and * @ctx arguments. Otherwise it can take three const void *. */ -#if HAVE_TYPEOF #define asort(base, num, cmp, ctx) \ _asort((base), (num), sizeof(*(base)), \ - cast_if_type((cmp), \ + cast_if_type(int (*)(const void *, const void *, const void *), \ + (cmp), &*(cmp), \ int (*)(const __typeof__(*(base)) *, \ const __typeof__(*(base)) *, \ - __typeof__(ctx)), \ - int (*)(const void *, const void *, const void *)), (ctx)) -#else -#define asort(base, num, cmp, ctx) \ - _asort((base), (num), sizeof(*(base)), \ - (int (*)(const void *, const void *, const void *))(cmp), ctx) -#endif + __typeof__(ctx))), (ctx)) void _asort(void *base, size_t nmemb, size_t size, int(*compar)(const void *, const void *, const void *),