reftable/block: adjust type of the restart length

The restart length is tracked as a positive integer even though it
cannot ever be negative. Furthermore, it is effectively capped via the
MAX_RESTARTS variable.

Adjust the type of the variable to be `uint32_t`. While this type is
excessive given that MAX_RESTARTS fits into an `uint16_t`, other places
already use 32 bit integers for restarts, so this type is being more
consistent.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Patrick Steinhardt
2025-01-20 17:17:25 +01:00
committed by Junio C Hamano
parent ffe6643668
commit b1e4b6f4dc
2 changed files with 6 additions and 8 deletions

View File

@ -40,16 +40,15 @@ size_t footer_size(int version)
static int block_writer_register_restart(struct block_writer *w, int n,
int is_restart, struct reftable_buf *key)
{
int rlen, err;
uint32_t rlen;
int err;
rlen = w->restart_len;
if (rlen >= MAX_RESTARTS) {
if (rlen >= MAX_RESTARTS)
is_restart = 0;
}
if (is_restart) {
if (is_restart)
rlen++;
}
if (2 + 3 * rlen + n > w->block_size - w->next)
return -1;
if (is_restart) {
@ -148,8 +147,7 @@ done:
int block_writer_finish(struct block_writer *w)
{
int i;
for (i = 0; i < w->restart_len; i++) {
for (uint32_t i = 0; i < w->restart_len; i++) {
put_be24(w->block + w->next, w->restarts[i]);
w->next += 3;
}