reftable/merged: handle allocation failures in merged_table_init_iter()
Handle allocation failures in `merged_table_init_iter()`. While at it, merge `merged_iter_init()` into the function. It only has a single caller and merging them makes it easier to handle allocation failures consistently. This change also requires us to adapt `reftable_stack_init_*_iterator()` to bubble up the new error codes of `merged_table_iter_init()`. Adapt callsites accordingly. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
74d1c18757
commit
802c0646ac
@ -73,16 +73,16 @@ struct reftable_iterator;
|
||||
* be used to iterate through refs. The iterator is valid until the next reload
|
||||
* or write.
|
||||
*/
|
||||
void reftable_stack_init_ref_iterator(struct reftable_stack *st,
|
||||
struct reftable_iterator *it);
|
||||
int reftable_stack_init_ref_iterator(struct reftable_stack *st,
|
||||
struct reftable_iterator *it);
|
||||
|
||||
/*
|
||||
* Initialize an iterator for the merged tables contained in the stack that can
|
||||
* be used to iterate through logs. The iterator is valid until the next reload
|
||||
* or write.
|
||||
*/
|
||||
void reftable_stack_init_log_iterator(struct reftable_stack *st,
|
||||
struct reftable_iterator *it);
|
||||
int reftable_stack_init_log_iterator(struct reftable_stack *st,
|
||||
struct reftable_iterator *it);
|
||||
|
||||
/* returns the merged_table for seeking. This table is valid until the
|
||||
* next write or reload, and should not be closed or deleted.
|
||||
|
Reference in New Issue
Block a user