[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v7 01/11] qapi/error: add (Error **errp) cleaning APIs
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
[PATCH v7 01/11] qapi/error: add (Error **errp) cleaning APIs |
Date: |
Fri, 31 Jan 2020 16:01:08 +0300 |
Add functions to clean Error **errp: call corresponding Error *err
cleaning function an set pointer to NULL.
New functions:
error_free_errp
error_report_errp
warn_report_errp
Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
---
CC: Eric Blake <address@hidden>
CC: Kevin Wolf <address@hidden>
CC: Max Reitz <address@hidden>
CC: Greg Kurz <address@hidden>
CC: Stefano Stabellini <address@hidden>
CC: Anthony Perard <address@hidden>
CC: Paul Durrant <address@hidden>
CC: Stefan Hajnoczi <address@hidden>
CC: "Philippe Mathieu-Daudé" <address@hidden>
CC: Laszlo Ersek <address@hidden>
CC: Gerd Hoffmann <address@hidden>
CC: Stefan Berger <address@hidden>
CC: Markus Armbruster <address@hidden>
CC: Michael Roth <address@hidden>
CC: address@hidden
CC: address@hidden
include/qapi/error.h | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/include/qapi/error.h b/include/qapi/error.h
index ad5b6e896d..d34987148d 100644
--- a/include/qapi/error.h
+++ b/include/qapi/error.h
@@ -309,6 +309,32 @@ void warn_reportf_err(Error *err, const char *fmt, ...)
void error_reportf_err(Error *err, const char *fmt, ...)
GCC_FMT_ATTR(2, 3);
+/*
+ * Functions to clean Error **errp: call corresponding Error *err cleaning
+ * function, then set pointer to NULL.
+ */
+static inline void error_free_errp(Error **errp)
+{
+ assert(errp && *errp);
+ error_free(*errp);
+ *errp = NULL;
+}
+
+static inline void error_report_errp(Error **errp)
+{
+ assert(errp && *errp);
+ error_report_err(*errp);
+ *errp = NULL;
+}
+
+static inline void warn_report_errp(Error **errp)
+{
+ assert(errp && *errp);
+ warn_report_err(*errp);
+ *errp = NULL;
+}
+
+
/*
* Just like error_setg(), except you get to specify the error class.
* Note: use of error classes other than ERROR_CLASS_GENERIC_ERROR is
--
2.21.0
- [PATCH v7 00/11] error: auto propagated local_err part I, Vladimir Sementsov-Ogievskiy, 2020/01/31
- [PATCH v7 09/11] TPM: introduce ERRP_AUTO_PROPAGATE, Vladimir Sementsov-Ogievskiy, 2020/01/31
- [PATCH v7 07/11] fw_cfg: introduce ERRP_AUTO_PROPAGATE, Vladimir Sementsov-Ogievskiy, 2020/01/31
- [PATCH v7 04/11] hw/sd/ssi-sd: fix error handling in ssi_sd_realize, Vladimir Sementsov-Ogievskiy, 2020/01/31
- [PATCH v7 05/11] SD (Secure Card): introduce ERRP_AUTO_PROPAGATE, Vladimir Sementsov-Ogievskiy, 2020/01/31
- [PATCH v7 06/11] pflash: introduce ERRP_AUTO_PROPAGATE, Vladimir Sementsov-Ogievskiy, 2020/01/31
- [PATCH v7 08/11] virtio-9p: introduce ERRP_AUTO_PROPAGATE, Vladimir Sementsov-Ogievskiy, 2020/01/31
- [PATCH v7 01/11] qapi/error: add (Error **errp) cleaning APIs,
Vladimir Sementsov-Ogievskiy <=
- [PATCH v7 10/11] nbd: introduce ERRP_AUTO_PROPAGATE, Vladimir Sementsov-Ogievskiy, 2020/01/31
- [PATCH v7 02/11] error: auto propagated local_err, Vladimir Sementsov-Ogievskiy, 2020/01/31
- [PATCH v7 11/11] xen: introduce ERRP_AUTO_PROPAGATE, Vladimir Sementsov-Ogievskiy, 2020/01/31
- [PATCH v7 03/11] scripts: add coccinelle script to use auto propagated errp, Vladimir Sementsov-Ogievskiy, 2020/01/31
- Re: [Xen-devel] [PATCH v7 00/11] error: auto propagated local_err part I, no-reply, 2020/01/31