diff options
Diffstat (limited to 'libc/stdlib/bsearch.c')
-rw-r--r-- | libc/stdlib/bsearch.c | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/libc/stdlib/bsearch.c b/libc/stdlib/bsearch.c deleted file mode 100644 index 6f3817b60..000000000 --- a/libc/stdlib/bsearch.c +++ /dev/null @@ -1,39 +0,0 @@ -/* - * This file originally lifted in toto from 'Dlibs' on the atari ST (RdeBath) - * - * - * Dale Schumacher 399 Beacon Ave. - * (alias: Dalnefre') St. Paul, MN 55104 - * dal@syntel.UUCP United States of America - * "It's not reality that's important, but how you perceive things." - * - * Reworked by Erik Andersen <andersen@uclibc.org> - */ -#include <stdio.h> - -void * bsearch (const void *key, const void *base, size_t num, size_t size, - int (*cmp) (const void *, const void *)) -{ - int dir; - size_t a, b, c; - const void *p; - - a = 0; - b = num; - while (a < b) - { - c = (a + b) >> 1; /* == ((a + b) / 2) */ - p = (void *)(((const char *) base) + (c * size)); - dir = (*cmp)(key, p); - if (dir < 0) { - b = c; - } else if (dir > 0) { - a = c + 1; - } else { - return (void *)p; - } - } - - return NULL; -} - |