X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Fasearch%2Fasearch.h;h=84625d986d6adef3848dbcdcc71dfa3bfe826afb;hp=2c28ab1c1d89d5f6956f7a0e417f1ca1e15be364;hb=c520b4adbbfba5a663b94e71216b90eddd0bf877;hpb=93d1e1063c6b5599ab334398234d2de05c1236e8 diff --git a/ccan/asearch/asearch.h b/ccan/asearch/asearch.h index 2c28ab1c..84625d98 100644 --- a/ccan/asearch/asearch.h +++ b/ccan/asearch/asearch.h @@ -3,7 +3,7 @@ #include #include -/* +/** * asearch - search an array of elements * @key: pointer to item being searched for * @base: pointer to data to sort @@ -23,10 +23,10 @@ #if HAVE_TYPEOF #define asearch(key, base, num, cmp) \ ((__typeof__(*(base))*)(bsearch((key), (base), (num), sizeof(*(base)), \ - cast_if_type((cmp), \ - int (*)(const __typeof__(*(key)) *, \ - const __typeof__(*(base)) *), \ - int (*)(const void *, const void *))))) + cast_if_type(int (*)(const void *, const void *), \ + (cmp), &*(cmp), \ + int (*)(const __typeof__(*(key)) *, \ + const __typeof__(*(base)) *))))) #else #define asearch(key, base, num, cmp) \ (bsearch((key), (base), (num), sizeof(*(base)), \