[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 01/46] error: Improve examples in error.h's big comment
From: |
Greg Kurz |
Subject: |
Re: [PATCH 01/46] error: Improve examples in error.h's big comment |
Date: |
Thu, 25 Jun 2020 16:44:00 +0200 |
On Wed, 24 Jun 2020 18:42:59 +0200
Markus Armbruster <armbru@redhat.com> wrote:
> Show errp instead of &err where &err is actually unusual. Add a
> missing declaration. Add a second error pileup example.
>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
> include/qapi/error.h | 19 +++++++++++++++----
> 1 file changed, 15 insertions(+), 4 deletions(-)
>
> diff --git a/include/qapi/error.h b/include/qapi/error.h
> index ad5b6e896d..1a5ea25e12 100644
> --- a/include/qapi/error.h
> +++ b/include/qapi/error.h
> @@ -16,15 +16,15 @@
> * Error reporting system loosely patterned after Glib's GError.
> *
> * Create an error:
> - * error_setg(&err, "situation normal, all fouled up");
> + * error_setg(errp, "situation normal, all fouled up");
> *
> * Create an error and add additional explanation:
> - * error_setg(&err, "invalid quark");
> - * error_append_hint(&err, "Valid quarks are up, down, strange, "
> + * error_setg(errp, "invalid quark");
> + * error_append_hint(errp, "Valid quarks are up, down, strange, "
> * "charm, top, bottom.\n");
> *
> * Do *not* contract this to
> - * error_setg(&err, "invalid quark\n"
> + * error_setg(errp, "invalid quark\n" // WRONG!
> * "Valid quarks are up, down, strange, charm, top, bottom.");
> *
> * Report an error to the current monitor if we have one, else stderr:
> @@ -108,12 +108,23 @@
> * }
> *
> * Do *not* "optimize" this to
> + * Error *err = NULL;
> * foo(arg, &err);
> * bar(arg, &err); // WRONG!
> * if (err) {
> * handle the error...
> * }
> * because this may pass a non-null err to bar().
> + *
> + * Likewise, do *not*
> + * Error *err = NULL;
> + * if (cond1) {
> + * error_setg(err, ...);
s/err/&err
> + * }
> + * if (cond2) {
> + * error_setg(err, ...); // WRONG!
ditto
With that fixed:
Reviewed-by: Greg Kurz <groug@kaod.org>
> + * }
> + * because this may pass a non-null err to error_setg().
> */
>
> #ifndef ERROR_H
- Re: [PATCH 02/46] error: Document Error API usage rules, (continued)
- [PATCH 04/46] macio: Tidy up error handling in macio_newworld_realize(), Markus Armbruster, 2020/06/24
- [PATCH 01/46] error: Improve examples in error.h's big comment, Markus Armbruster, 2020/06/24
- [PATCH 10/46] qemu-option: Check return value instead of @err where convenient, Markus Armbruster, 2020/06/24
- [PATCH 14/46] qemu-option: Factor out helper opt_create(), Markus Armbruster, 2020/06/24
- [PATCH 06/46] error: Avoid error_propagate() when error is not used here, Markus Armbruster, 2020/06/24