diff options
Diffstat (limited to 'reftable/basics.c')
-rw-r--r-- | reftable/basics.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/reftable/basics.c b/reftable/basics.c index 2c5f34b39e..fea711db7e 100644 --- a/reftable/basics.c +++ b/reftable/basics.c @@ -39,8 +39,11 @@ size_t binsearch(size_t sz, int (*f)(size_t k, void *args), void *args) */ while (hi - lo > 1) { size_t mid = lo + (hi - lo) / 2; + int ret = f(mid, args); + if (ret < 0) + return sz; - if (f(mid, args)) + if (ret > 0) hi = mid; else lo = mid; |