]> git.ipfire.org Git - thirdparty/git.git/commitdiff
reftable/writer: use correct type to iterate through index entries
authorPatrick Steinhardt <ps@pks.im>
Thu, 1 Feb 2024 07:52:00 +0000 (08:52 +0100)
committerJunio C Hamano <gitster@pobox.com>
Thu, 1 Feb 2024 19:11:32 +0000 (11:11 -0800)
The reftable writer is tracking the number of blocks it has to index via
the `index_len` variable. But while this variable is of type `size_t`,
some sites use an `int` to loop through the index entries.

Convert the code to consistently use `size_t`.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
reftable/writer.c

index 92935baa7036924de241a2adc8eca3640b0fc376..5a0b87b40665a6e16181084ffaf954bac5f26bbc 100644 (file)
@@ -379,20 +379,21 @@ int reftable_writer_add_logs(struct reftable_writer *w,
 
 static int writer_finish_section(struct reftable_writer *w)
 {
+       struct reftable_block_stats *bstats = NULL;
        uint8_t typ = block_writer_type(w->block_writer);
        uint64_t index_start = 0;
        int max_level = 0;
-       int threshold = w->opts.unpadded ? 1 : 3;
+       size_t threshold = w->opts.unpadded ? 1 : 3;
        int before_blocks = w->stats.idx_stats.blocks;
-       int err = writer_flush_block(w);
-       int i = 0;
-       struct reftable_block_stats *bstats = NULL;
+       int err;
+
+       err = writer_flush_block(w);
        if (err < 0)
                return err;
 
        while (w->index_len > threshold) {
                struct reftable_index_record *idx = NULL;
-               int idx_len = 0;
+               size_t i, idx_len;
 
                max_level++;
                index_start = w->next;
@@ -630,11 +631,8 @@ done:
 
 static void writer_clear_index(struct reftable_writer *w)
 {
-       int i = 0;
-       for (i = 0; i < w->index_len; i++) {
+       for (size_t i = 0; i < w->index_len; i++)
                strbuf_release(&w->index[i].last_key);
-       }
-
        FREE_AND_NULL(w->index);
        w->index_len = 0;
        w->index_cap = 0;