Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2024-01-16 21:11:56 +0300
committerJunio C Hamano <gitster@pobox.com>2024-01-16 21:11:57 +0300
commit481d69dd63328fb10422c8bf9e714b5b5c7d1820 (patch)
tree13eb7caf64e3bfa7bbf6df3bbdd69c718379c0fc /reftable/merged.c
parentd4dbce1db5cd227a57074bcfc7ec9f0655961bba (diff)
parent19b9496c1f0630a4ba252abcdfd313bf9c46347a (diff)
Merge branch 'ps/reftable-fixes-and-optims'
More fixes and optimizations to the reftable backend. * ps/reftable-fixes-and-optims: reftable/merged: transfer ownership of records when iterating reftable/merged: really reuse buffers to compute record keys reftable/record: store "val2" hashes as static arrays reftable/record: store "val1" hashes as static arrays reftable/record: constify some parts of the interface reftable/writer: fix index corruption when writing multiple indices reftable/stack: do not auto-compact twice in `reftable_stack_add()` reftable/stack: do not overwrite errors when compacting
Diffstat (limited to 'reftable/merged.c')
-rw-r--r--reftable/merged.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/reftable/merged.c b/reftable/merged.c
index 574394092d..c258ce953e 100644
--- a/reftable/merged.c
+++ b/reftable/merged.c
@@ -123,12 +123,12 @@ static int merged_iter_next_entry(struct merged_iter *mi,
reftable_record_release(&top.rec);
}
- reftable_record_copy_from(rec, &entry.rec, hash_size(mi->hash_id));
+ reftable_record_release(rec);
+ *rec = entry.rec;
done:
- reftable_record_release(&entry.rec);
- strbuf_release(&mi->entry_key);
- strbuf_release(&mi->key);
+ if (err)
+ reftable_record_release(&entry.rec);
return err;
}