libctf: don't pass errno into ctf_err_warn so often

The libctf-internal warning function ctf_err_warn() can be passed a libctf
errno as a parameter, and will add its textual errmsg form to the passed-in
error message. But if there is an error on the fp already, and this is
specifically an error and not a warning, ctf_err_warn() will print the error
out regardless: there's no need to pass in anything but 0.

There are still a lot of places where we do

ctf_err_warn (fp, 0, EFOO, ...);
return ctf_set_errno (fp, 0, EFOO);

I've left all of those alone, because fixing it makes the code a bit longer:
but fixing the cases where no return is involved and the error has just been
set on the fp itself costs nothing and reduces redundancy a bit.

libctf/

	* ctf-dedup.c (ctf_dedup_walk_output_mapping): Drop the errno arg.
	(ctf_dedup_emit): Likewise.
	(ctf_dedup_type_mapping): Likewise.
	* ctf-link.c (ctf_create_per_cu): Likewise.
	(ctf_link_deduplicating_close_inputs): Likewise.
	(ctf_link_deduplicating_one_symtypetab): Likewise.
	(ctf_link_deduplicating_per_cu): Likewise.
	* ctf-lookup.c (ctf_lookup_symbol_idx): Likewise.
	* ctf-subr.c (ctf_assert_fail_internal): Likewise.
This commit is contained in:
Nick Alcock
2024-04-12 14:46:00 +01:00
parent b5ac272b87
commit 7e1368b58f
4 changed files with 19 additions and 19 deletions

View File

@@ -330,9 +330,9 @@ ctf_create_per_cu (ctf_dict_t *fp, ctf_dict_t *input, const char *cu_name)
if ((cu_fp = ctf_create (&err)) == NULL)
{
ctf_err_warn (fp, 0, err, _("cannot create per-CU CTF archive for "
"input CU %s"), cu_name);
ctf_set_errno (fp, err);
ctf_err_warn (fp, 0, 0, _("cannot create per-CU CTF archive for "
"input CU %s"), cu_name);
return NULL;
}
@@ -886,9 +886,9 @@ ctf_link_deduplicating_close_inputs (ctf_dict_t *fp, ctf_dynhash_t *cu_names,
}
if (err != ECTF_NEXT_END)
{
ctf_err_warn (fp, 0, err, _("iteration error in deduplicating link "
"input freeing"));
ctf_set_errno (fp, err);
ctf_err_warn (fp, 0, 0, _("iteration error in deduplicating link "
"input freeing"));
}
}
else
@@ -1087,8 +1087,8 @@ ctf_link_deduplicating_one_symtypetab (ctf_dict_t *fp, ctf_dict_t *input,
if (ctf_errno (input) != ECTF_NEXT_END)
{
ctf_set_errno (fp, ctf_errno (input));
ctf_err_warn (fp, 0, ctf_errno (input),
functions ? _("iterating over function symbols") :
ctf_err_warn (fp, 0, 0, functions ?
_("iterating over function symbols") :
_("iterating over data symbols"));
return -1;
}
@@ -1156,9 +1156,9 @@ ctf_link_deduplicating_per_cu (ctf_dict_t *fp)
if (labs ((long int) ninputs) > 0xfffffffe)
{
ctf_err_warn (fp, 0, EFBIG, _("too many inputs in deduplicating "
"link: %li"), (long int) ninputs);
ctf_set_errno (fp, EFBIG);
ctf_err_warn (fp, 0, 0, _("too many inputs in deduplicating "
"link: %li"), (long int) ninputs);
goto err_open_inputs;
}
@@ -1180,10 +1180,10 @@ ctf_link_deduplicating_per_cu (ctf_dict_t *fp)
&ai, NULL, 0, &err);
if (!only_input->clin_fp)
{
ctf_err_warn (fp, 0, err, _("cannot open archive %s in "
"CU-mapped CTF link"),
only_input->clin_filename);
ctf_set_errno (fp, err);
ctf_err_warn (fp, 0, 0, _("cannot open archive %s in "
"CU-mapped CTF link"),
only_input->clin_filename);
goto err_open_inputs;
}
ctf_next_destroy (ai);