Signed-off-by: Pavel Hrdina <phrd...@redhat.com> --- error.c | 8 ++++++++ error.h | 6 ++++++ 2 files changed, 14 insertions(+)
diff --git a/error.c b/error.c index 128d88c..dd3ab66 100644 --- a/error.c +++ b/error.c @@ -113,3 +113,11 @@ void error_propagate(Error **dst_err, Error *local_err) error_free(local_err); } } + +void handle_error(Error **errp) +{ + if (error_is_set(errp)) { + error_report("%s", error_get_pretty(*errp)); + error_free(*errp); + } +} diff --git a/error.h b/error.h index 4d52e73..6a6acb5 100644 --- a/error.h +++ b/error.h @@ -77,4 +77,10 @@ void error_propagate(Error **dst_err, Error *local_err); */ void error_free(Error *err); +/** + * Print an error object as pretty string to current monitor or on stderr, then + * free the errot object. + */ +void handle_error(Error **errp); + #endif -- 1.8.0.2