From 0ebf1bdeeda1612dbe8e092dca765527a741e462 Mon Sep 17 00:00:00 2001 From: Nick Alcock Date: Tue, 2 Apr 2024 13:48:13 +0100 Subject: libctf: improve handling of type dumping errors When dumping a type fails with an error, we want to emit a warning noting this: a warning because it's not fatal and we can continue. But warnings don't automatically print out the ctf_errno (because not all cases causing warnings set the errno at all), so we must do it at warning-emission time or lose track of what's gone wrong. libctf/ * ctf-dump.c (ctf_dump_format_type): Dump the underlying error on type dump failure. --- libctf/ctf-dump.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libctf') diff --git a/libctf/ctf-dump.c b/libctf/ctf-dump.c index 2213d09..80a3b26 100644 --- a/libctf/ctf-dump.c +++ b/libctf/ctf-dump.c @@ -239,7 +239,8 @@ ctf_dump_format_type (ctf_dict_t *fp, ctf_id_t id, int flag) oom: ctf_set_errno (fp, errno); err: - ctf_err_warn (fp, 1, 0, _("cannot format name dumping type 0x%lx"), id); + ctf_err_warn (fp, 1, ctf_errno (fp), _("cannot format name dumping type 0x%lx"), + id); free (buf); free (str); free (bit); -- cgit v1.1