reftable/block: introduce `block_reader_release()`

Introduce a new function `block_reader_release()` that releases resources acquired by the block reader. This function will be extended in a subsequent commit. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Patrick Steinhardt committed Apr 8, 2024 at 14:16 UTC b371221a607fdb4ea781733e9449e3835be12c91
3 files changed +8 -1
reftable/block.c
+5
@@ -256,6 +256,11 @@ done:
256 return err;
257 }
258
259 +void block_reader_release(struct block_reader *br)
260 +{
261 + reftable_block_done(&br->block);
262 +}
263 +
264 uint8_t block_reader_type(struct block_reader *r)
265 {
266 return r->block.data[r->header_off];
reftable/block.h
+2
@@ -81,6 +81,8 @@ int block_reader_init(struct block_reader *br, struct reftable_block *bl,
81 uint32_t header_off, uint32_t table_block_size,
82 int hash_size);
83
84 +void block_reader_release(struct block_reader *br);
85 +
86 /* Returns the block type (eg. 'r' for refs) */
87 uint8_t block_reader_type(struct block_reader *r);
88
reftable/reader.c
+1 -1
@@ -253,7 +253,7 @@ static void table_iter_block_done(struct table_iter *ti)
253 if (!ti->bi.br) {
254 return;
255 }
256 - reftable_block_done(&ti->bi.br->block);
256 + block_reader_release(ti->bi.br);
257 FREE_AND_NULL(ti->bi.br);
258
259 ti->bi.last_key.len = 0;