diff options
| -rw-r--r-- | src/stdlib/bsearch.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/stdlib/bsearch.c b/src/stdlib/bsearch.c index d625599f..39de941e 100644 --- a/src/stdlib/bsearch.c +++ b/src/stdlib/bsearch.c @@ -8,12 +8,12 @@ void * bsearch(const void * key, const void * base, size_t nmemb, size_t size, i void *ret = NULL; size_t i = nmemb / 2; unsigned int trip = 1; - (void)size; + const char *addr = base; while (ret == NULL) { - int comp = compar(key, base + i); + int comp = compar(key, addr + (i * size)); if (comp == 0) { - return (void*)(base + i); + return (void*)(addr + (i * size)); } else if (comp > 0) { i -= (nmemb >> trip); } else { |
