Skip to content

Commit 62d3c8e

Browse files
pks-tgitster
authored andcommitted
reftable/merged: refactor initialization of iterators
Refactor the initialization of the merged iterator to fit our code style better. This refactoring prepares the code for a refactoring of how records are being initialized. Signed-off-by: Patrick Steinhardt <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 59f302c commit 62d3c8e

File tree

1 file changed

+13
-14
lines changed

1 file changed

+13
-14
lines changed

reftable/merged.c

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,24 +19,23 @@ license that can be found in the LICENSE file or at
1919

2020
static int merged_iter_init(struct merged_iter *mi)
2121
{
22-
int i = 0;
23-
for (i = 0; i < mi->stack_len; i++) {
24-
struct reftable_record rec = reftable_new_record(mi->typ);
25-
int err = iterator_next(&mi->stack[i], &rec);
26-
if (err < 0) {
22+
for (size_t i = 0; i < mi->stack_len; i++) {
23+
struct pq_entry e = {
24+
.rec = reftable_new_record(mi->typ),
25+
.index = i,
26+
};
27+
int err;
28+
29+
err = iterator_next(&mi->stack[i], &e.rec);
30+
if (err < 0)
2731
return err;
28-
}
29-
3032
if (err > 0) {
3133
reftable_iterator_destroy(&mi->stack[i]);
32-
reftable_record_release(&rec);
33-
} else {
34-
struct pq_entry e = {
35-
.rec = rec,
36-
.index = i,
37-
};
38-
merged_iter_pqueue_add(&mi->pq, &e);
34+
reftable_record_release(&e.rec);
35+
continue;
3936
}
37+
38+
merged_iter_pqueue_add(&mi->pq, &e);
4039
}
4140

4241
return 0;

0 commit comments

Comments
 (0)