From: Markus Armbruster <armbru@redhat.com>
Date: Fri, 6 Feb 2015 14:27:19 +0000 (+0100)
Subject: error: New convenience function error_report_err()
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=2ee2f1e41517efa7b5dd604a68ceca9b1377de2c;p=qemu.git

error: New convenience function error_report_err()

I've typed error_report("%s", error_get_pretty(ERR)) too many times
already, and I've fixed too many instances of qerror_report_err(ERR)
to error_report("%s", error_get_pretty(ERR)) as well.  Capture the
pattern in a convenience function.

Since it's almost invariably followed by error_free(), stuff that into
the convenience function as well.

The next patch will put it to use.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
---

diff --git a/include/qapi/error.h b/include/qapi/error.h
index d712089f1a..f44c451830 100644
--- a/include/qapi/error.h
+++ b/include/qapi/error.h
@@ -82,6 +82,11 @@ Error *error_copy(const Error *err);
  */
 const char *error_get_pretty(Error *err);
 
+/**
+ * Convenience function to error_report() and free an error object.
+ */
+void error_report_err(Error *);
+
 /**
  * Propagate an error to an indirect pointer to an error.  This function will
  * always transfer ownership of the error reference and handles the case where
diff --git a/util/error.c b/util/error.c
index 2ace0d8dd9..1ff6ae538b 100644
--- a/util/error.c
+++ b/util/error.c
@@ -152,6 +152,12 @@ const char *error_get_pretty(Error *err)
     return err->msg;
 }
 
+void error_report_err(Error *err)
+{
+    error_report("%s", error_get_pretty(err));
+    error_free(err);
+}
+
 void error_free(Error *err)
 {
     if (err) {