diff options
| author | Patrick Steinhardt <ps@pks.im> | 2025-02-18 10:20:41 +0100 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2025-02-18 10:55:36 -0800 |
| commit | 9d9fac0f34ec47cc6eafeb3e10378ab8f3310346 (patch) | |
| tree | 2dcef8922bd24884fcda6856291dc32ecbdfd081 /reftable/reader.c | |
| parent | a967966432f25324c79524c0cb18d6e152d0b6af (diff) | |
| download | git-9d9fac0f34ec47cc6eafeb3e10378ab8f3310346.tar.xz | |
reftable/record: stop using `BUG()` in `reftable_record_init()`
We're aborting the program via `BUG()` in case `reftable_record_init()`
was invoked with an unknown record type. This is bad because we may now
die in library code, and because it makes us depend on the Git codebase.
Refactor the code such that `reftable_record_init()` can return an error
code to the caller. Adapt any callers accordingly.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'reftable/reader.c')
| -rw-r--r-- | reftable/reader.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/reftable/reader.c b/reftable/reader.c index 3f2e4b2800..de6e6dd932 100644 --- a/reftable/reader.c +++ b/reftable/reader.c @@ -360,7 +360,10 @@ static int table_iter_seek_linear(struct table_iter *ti, struct reftable_record rec; int err; - reftable_record_init(&rec, reftable_record_type(want)); + err = reftable_record_init(&rec, reftable_record_type(want)); + if (err < 0) + goto done; + err = reftable_record_key(want, &want_key); if (err < 0) goto done; |
