Greg Kurz <gr...@kaod.org> writes:

> We have a dedicated error API for hints. Use it instead of embedding
> the hint in the error message, as recommanded in the "qapi/error.h"
> header file.
>
> Since spapr_caps_apply() passes &error_fatal, all functions must
> also call the ERRP_GUARD() macro for error_append_hint() to be
> functional.

This isn't a request for change in this patch, just an attempt to squash
possible misunderstandings.

It's true that error_append_hint() without ERRP_GUARD() works as long as
the caller doesn't pass certain errp arguments.  But the callee should
work for all possible @errp arguments, not just the ones that get passed
today.  That's why error.h wants you to guard *all* uses of
error_append_hint(errp):

 * = Why, when and how to use ERRP_GUARD() =
 *
 * Without ERRP_GUARD(), use of the @errp parameter is restricted:
 * - It must not be dereferenced, because it may be null.
 * - It should not be passed to error_prepend() or
 *   error_append_hint(), because that doesn't work with &error_fatal.
 * ERRP_GUARD() lifts these restrictions.

No need to make an argument involving the possible arguments (pardon the
pun).

[...]


Reply via email to