[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 01/44] error: Improve examples in error.h's big comment
From: |
Markus Armbruster |
Subject: |
[PATCH v3 01/44] error: Improve examples in error.h's big comment |
Date: |
Mon, 6 Jul 2020 10:09:07 +0200 |
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>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
---
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..3e64324b7a 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, ...);
+ * }
+ * if (cond2) {
+ * error_setg(&err, ...); // WRONG!
+ * }
+ * because this may pass a non-null err to error_setg().
*/
#ifndef ERROR_H
--
2.26.2
- [PATCH v3 00/44] Less clumsy error checking, Markus Armbruster, 2020/07/06
- [PATCH v3 02/44] error: Document Error API usage rules, Markus Armbruster, 2020/07/06
- [PATCH v3 01/44] error: Improve examples in error.h's big comment,
Markus Armbruster <=
- [PATCH v3 10/44] qemu-option: Factor out helper opt_create(), Markus Armbruster, 2020/07/06
- [PATCH v3 07/44] qemu-option: Make uses of find_desc_by_name() more similar, Markus Armbruster, 2020/07/06
- [PATCH v3 04/44] macio: Tidy up error handling in macio_newworld_realize(), Markus Armbruster, 2020/07/06
- [PATCH v3 15/44] hmp: Eliminate a variable in hmp_migrate_set_parameter(), Markus Armbruster, 2020/07/06
- [PATCH v3 14/44] block: Avoid error accumulation in bdrv_img_create(), Markus Armbruster, 2020/07/06
- [PATCH v3 09/44] qemu-option: Simplify around find_default_by_name(), Markus Armbruster, 2020/07/06
- [PATCH v3 12/44] qemu-option: Make functions taking Error ** return bool, not void, Markus Armbruster, 2020/07/06