On Fri, 10 Jan 2020 22:41:48 +0300 Vladimir Sementsov-Ogievskiy <[email protected]> wrote:
> Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]> > --- > Reviewed-by: Greg Kurz <[email protected]> > CC: Cornelia Huck <[email protected]> > CC: Eric Blake <[email protected]> > CC: Kevin Wolf <[email protected]> > CC: Max Reitz <[email protected]> > CC: Greg Kurz <[email protected]> > CC: Stefan Hajnoczi <[email protected]> > CC: Stefano Stabellini <[email protected]> > CC: Anthony Perard <[email protected]> > CC: Paul Durrant <[email protected]> > CC: "Philippe Mathieu-Daudé" <[email protected]> > CC: Laszlo Ersek <[email protected]> > CC: Gerd Hoffmann <[email protected]> > CC: Stefan Berger <[email protected]> > CC: Markus Armbruster <[email protected]> > CC: Michael Roth <[email protected]> > CC: [email protected] > CC: [email protected] > > include/qapi/error.h | 26 ++++++++++++++++++++++++++ > 1 file changed, 26 insertions(+) > > diff --git a/include/qapi/error.h b/include/qapi/error.h > index ad5b6e896d..fa8d51fd6d 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 an 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
