reftable/basics: fix return type of binsearch() to be size_t

The `binsearch()` function can be used to find the first element for
which a callback functions returns a truish value. But while the array
size is of type `size_t`, the function in fact returns an `int` that is
supposed to index into that array.

Fix the function signature to return a `size_t`. This conversion does
not change any semantics given that the function would only ever return
a value in the range `[0, sz]` anyway.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Patrick Steinhardt
2024-04-03 08:03:56 +02:00
committed by Junio C Hamano
parent 11c821f2f2
commit 3e7b36d129
5 changed files with 14 additions and 16 deletions

View File

@ -34,15 +34,15 @@ static void test_binsearch(void)
int i = 0;
for (i = 1; i < 11; i++) {
int res;
size_t res;
args.key = i;
res = binsearch(sz, &binsearch_func, &args);
if (res < sz) {
EXPECT(args.key < arr[res]);
if (res > 0) {
if (res > 0)
EXPECT(args.key >= arr[res - 1]);
}
} else {
EXPECT(args.key == 10 || args.key == 11);
}