[PATCH v4 1/2] bsearch: avoid unneeded decrement arithmetic

André Goddard Rosa
2009-11-11T15:02:10Z

Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
---
lib/bsearch.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/bsearch.c b/lib/bsearch.c
index 2e70664..33cbba6 100644
--- a/lib/bsearch.c
+++ b/lib/bsearch.c
@@ -33,13 +33,13 @@
void *bsearch(const void *key, const void *base, size_t num, size_t size,
int (*cmp)(const void *key, const void *elt))
{
- int start = 0, end = num - 1, mid, result;
+ int start = 0, end = num, mid, result;

- while (start <= end) {
+ while (start < end) {
mid = (start + end) / 2;
result = cmp(key, base + mid * size);
if (result < 0)
- end = mid - 1;
+ end = mid;
else if (result > 0)
start = mid + 1;
else
--
1.6.5.2.153.g6e31f.dirty