reftable/block: adapt header and footer size to return a `size_t`

The functions `header_size()` and `footer_size()` return a positive integer representing the size of the header and footer, respectively, dependent on the version of the reftable format. Similar to the preceding commit, these functions return a signed integer though, which is nonsensical given that there is no way for these functions to return negative. Adapt the functions to return a `size_t` instead to fix a couple of sign comparison warnings. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Patrick Steinhardt committed Jan 20, 2025 at 17:17 UTC ffe664366890f252ad14e87c987c57e080182bca
3 files changed +5 -5
reftable/block.c
+2 -2
@@ -15,7 +15,7 @@ https://developers.google.com/open-source/licenses/bsd
15 #include "system.h"
16 #include <zlib.h>
17
18 -int header_size(int version)
18 +size_t header_size(int version)
19 {
20 switch (version) {
21 case 1:
@@ -26,7 +26,7 @@ int header_size(int version)
26 abort();
27 }
28
29 -int footer_size(int version)
29 +size_t footer_size(int version)
30 {
31 switch (version) {
32 case 1:
reftable/block.h
+2 -2
@@ -137,10 +137,10 @@ void block_iter_reset(struct block_iter *it);
137 void block_iter_close(struct block_iter *it);
138
139 /* size of file header, depending on format version */
140 -int header_size(int version);
140 +size_t header_size(int version);
141
142 /* size of file footer, depending on format version */
143 -int footer_size(int version);
143 +size_t footer_size(int version);
144
145 /* returns a block to its source. */
146 void reftable_block_done(struct reftable_block *ret);
t/unit-tests/t-reftable-readwrite.c
+1 -1
@@ -643,7 +643,7 @@ static void t_write_empty_table(void)
643 check_int(err, ==, REFTABLE_EMPTY_TABLE_ERROR);
644 reftable_writer_free(w);
645
646 - check_int(buf.len, ==, header_size(1) + footer_size(1));
646 + check_uint(buf.len, ==, header_size(1) + footer_size(1));
647
648 block_source_from_buf(&source, &buf);
649