Hi, this patch series contains various improvements for the `binsearch()` mechanism used by the reftable library: - Callsites are refactored to make it more obvious what exactly they are doing. This mostly involves improved names for callback functions. - Error handling is improved such that binsearch() knows to abort when the callback returns a negative value. - Error handling for binary searching over restart counters is fixed so that we check for errors at the correct point in time. - Decoding of record keys is refactored when searching over restart counters to not require allocations anymore. Thanks! Patrick Patrick Steinhardt (7): reftable/basics: fix return type of `binsearch()` to be `size_t` reftable/basics: improve `binsearch()` test reftable/refname: refactor binary search over refnames reftable/block: refactor binary search over restart points reftable/block: fix error handling when searching restart points reftable/record: extract function to decode key lengths reftable/block: avoid decoding keys when searching restart points reftable/basics.c | 7 ++- reftable/basics.h | 7 +-- reftable/basics_test.c | 55 +++++++++++--------- reftable/block.c | 114 ++++++++++++++++++++++++++++++----------- reftable/record.c | 34 ++++++++---- reftable/record.h | 6 +++ reftable/refname.c | 53 +++++++++---------- 7 files changed, 179 insertions(+), 97 deletions(-) -- 2.44.0
Attachment:
signature.asc
Description: PGP signature