diff options
Diffstat (limited to 'contrib/binutils/libiberty/bsearch.c')
-rw-r--r-- | contrib/binutils/libiberty/bsearch.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/contrib/binutils/libiberty/bsearch.c b/contrib/binutils/libiberty/bsearch.c index b3283f9..771d5de 100644 --- a/contrib/binutils/libiberty/bsearch.c +++ b/contrib/binutils/libiberty/bsearch.c @@ -67,24 +67,21 @@ is respectively less than, matching, or greater than the array member. * look at item 3. */ void * -bsearch(key, base0, nmemb, size, compar) - register void *key; - void *base0; - size_t nmemb; - register size_t size; - register int (*compar)(); +bsearch (register const void *key, const void *base0, + size_t nmemb, register size_t size, + register int (*compar)(const void *, const void *)) { - register char *base = base0; + register const char *base = (const char *) base0; register int lim, cmp; - register void *p; + register const void *p; for (lim = nmemb; lim != 0; lim >>= 1) { p = base + (lim >> 1) * size; cmp = (*compar)(key, p); if (cmp == 0) - return (p); + return (void *)p; if (cmp > 0) { /* key > p: move right */ - base = (char *)p + size; + base = (const char *)p + size; lim--; } /* else move left */ } |