reftable/writer: simplify writing index records

When finishing the current section some index records might be written
for the section to the table. The logic that adds these records to the
writer duplicates what we already have in `writer_add_record()`, making
this more complicated than it really has to be.

Simplify the code by using `writer_add_record()` instead. While at it,
drop the unneeded braces around a loop to make the code conform to our
code style better.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Patrick Steinhardt 2024-02-01 08:52:04 +01:00 committed by Junio C Hamano
parent 9ebb2d7b08
commit b66e006ff5

View file

@ -412,26 +412,14 @@ static int writer_finish_section(struct reftable_writer *w)
.idx = idx[i],
},
};
if (block_writer_add(w->block_writer, &rec) == 0) {
continue;
}
err = writer_flush_block(w);
err = writer_add_record(w, &rec);
if (err < 0)
return err;
writer_reinit_block_writer(w, BLOCK_TYPE_INDEX);
err = block_writer_add(w->block_writer, &rec);
if (err != 0) {
/* write into fresh block should always succeed
*/
abort();
}
}
for (i = 0; i < idx_len; i++) {
for (i = 0; i < idx_len; i++)
strbuf_release(&idx[i].last_key);
}
reftable_free(idx);
}