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>

Patrick Steinhardt committed Feb 1, 2024 at 08:52 UTC b66e006ff534c72c70132105fff06601aa60a625
1 file changed +3 -15
reftable/writer.c
+3 -15
@@ -412,26 +412,14 @@ static int writer_finish_section(struct reftable_writer *w)
412 .idx = idx[i],
413 },
414 };
415 - if (block_writer_add(w->block_writer, &rec) == 0) {
416 - continue;
417 - }
415
419 - err = writer_flush_block(w);
416 + err = writer_add_record(w, &rec);
417 if (err < 0)
418 return err;
422 -
423 - writer_reinit_block_writer(w, BLOCK_TYPE_INDEX);
424 -
425 - err = block_writer_add(w->block_writer, &rec);
426 - if (err != 0) {
427 - /* write into fresh block should always succeed
428 - */
429 - abort();
430 - }
419 }
432 - for (i = 0; i < idx_len; i++) {
420 +
421 + for (i = 0; i < idx_len; i++)
422 strbuf_release(&idx[i].last_key);
434 - }
423 reftable_free(idx);
424 }
425