diff options
Diffstat (limited to 'include/qapi/error.h')
-rw-r--r-- | include/qapi/error.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/qapi/error.h b/include/qapi/error.h index 71f8fb2..41e3816 100644 --- a/include/qapi/error.h +++ b/include/qapi/error.h @@ -437,6 +437,8 @@ Error *error_copy(const Error *err); */ void error_free(Error *err); +G_DEFINE_AUTOPTR_CLEANUP_FUNC(Error, error_free) + /* * Convenience function to assert that *@errp is set, then silently free it. */ @@ -467,6 +469,18 @@ void error_reportf_err(Error *err, const char *fmt, ...) G_GNUC_PRINTF(2, 3); /* + * Similar to warn_report_err(), except it prints the message just once. + * Return true when it prints, false otherwise. + */ +bool warn_report_err_once_cond(bool *printed, Error *err); + +#define warn_report_err_once(err) \ + ({ \ + static bool print_once_; \ + warn_report_err_once_cond(&print_once_, err); \ + }) + +/* * Just like error_setg(), except you get to specify the error class. * Note: use of error classes other than ERROR_CLASS_GENERIC_ERROR is * strongly discouraged. |