30 #if defined(LIBC_SCCS) && !defined(lint)
31 static char sccsid[] =
"@(#)bsearch.c 8.1 (Berkeley) 6/4/93";
33 #include <sys/cdefs.h>
36 #include <sys/param.h>
37 #include <sys/libkern.h>
57 register const
void *key;
61 register
int (*compar)(const
void *, const
void *);
63 register const char *base = base0;
66 register const void *p;
68 for (lim = nmemb; lim != 0; lim >>= 1) {
69 p = base + (lim >> 1) * size;
70 cmp = (*compar)(key, p);
72 return ((
void *)(uintptr_t)p);
74 base = (
const char *)p + size;
void * bsearch(const void *key, const void *base0, size_t nmemb, size_t size, int *compar)