mirror of https://github.com/xemu-project/xemu.git
error: Implement the warn and free Error functions
Implement warn_report_err() and warn_reportf_err() functions which are the same as the error_report_err() and error_reportf_err() functions except report a warning instead of an error. Signed-off-by: Alistair Francis <alistair.francis@xilinx.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Message-Id: <276ff93eadc0b01b8243cc61ffc331f77922c0d0.1499866456.git.alistair.francis@xilinx.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
c51c4f8807
commit
e43ead1d0b
|
@ -266,11 +266,22 @@ void error_free(Error *err);
|
||||||
*/
|
*/
|
||||||
void error_free_or_abort(Error **errp);
|
void error_free_or_abort(Error **errp);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Convenience function to warn_report() and free @err.
|
||||||
|
*/
|
||||||
|
void warn_report_err(Error *err);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Convenience function to error_report() and free @err.
|
* Convenience function to error_report() and free @err.
|
||||||
*/
|
*/
|
||||||
void error_report_err(Error *err);
|
void error_report_err(Error *err);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Convenience function to error_prepend(), warn_report() and free @err.
|
||||||
|
*/
|
||||||
|
void warn_reportf_err(Error *err, const char *fmt, ...)
|
||||||
|
GCC_FMT_ATTR(2, 3);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Convenience function to error_prepend(), error_report() and free @err.
|
* Convenience function to error_prepend(), error_report() and free @err.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -2533,6 +2533,7 @@ sub process {
|
||||||
error_setg_file_open|
|
error_setg_file_open|
|
||||||
error_set|
|
error_set|
|
||||||
error_prepend|
|
error_prepend|
|
||||||
|
warn_reportf_err|
|
||||||
error_reportf_err|
|
error_reportf_err|
|
||||||
error_vreport|
|
error_vreport|
|
||||||
warn_vreport|
|
warn_vreport|
|
||||||
|
|
20
util/error.c
20
util/error.c
|
@ -232,6 +232,15 @@ void error_report_err(Error *err)
|
||||||
error_free(err);
|
error_free(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void warn_report_err(Error *err)
|
||||||
|
{
|
||||||
|
warn_report("%s", error_get_pretty(err));
|
||||||
|
if (err->hint) {
|
||||||
|
error_printf_unless_qmp("%s", err->hint->str);
|
||||||
|
}
|
||||||
|
error_free(err);
|
||||||
|
}
|
||||||
|
|
||||||
void error_reportf_err(Error *err, const char *fmt, ...)
|
void error_reportf_err(Error *err, const char *fmt, ...)
|
||||||
{
|
{
|
||||||
va_list ap;
|
va_list ap;
|
||||||
|
@ -242,6 +251,17 @@ void error_reportf_err(Error *err, const char *fmt, ...)
|
||||||
error_report_err(err);
|
error_report_err(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void warn_reportf_err(Error *err, const char *fmt, ...)
|
||||||
|
{
|
||||||
|
va_list ap;
|
||||||
|
|
||||||
|
va_start(ap, fmt);
|
||||||
|
error_vprepend(&err, fmt, ap);
|
||||||
|
va_end(ap);
|
||||||
|
warn_report_err(err);
|
||||||
|
}
|
||||||
|
|
||||||
void error_free(Error *err)
|
void error_free(Error *err)
|
||||||
{
|
{
|
||||||
if (err) {
|
if (err) {
|
||||||
|
|
Loading…
Reference in New Issue