]> git.ipfire.org Git - thirdparty/git.git/blobdiff - reftable/basics.c
reftable/block: fix error handling when searching restart points
[thirdparty/git.git] / reftable / basics.c
index 2c5f34b39e61179b7c3e9512c106b2e675e97ed8..fea711db7e23e680fbf1937df43d625bb9c055fb 100644 (file)
@@ -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;