diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2017-07-14 09:36:40 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2017-07-14 09:36:40 +0100 |
commit | a309b290aaa8ac55191a50e44bbd99b5fc586487 (patch) | |
tree | 3798999e5f6d795f6987dcedb7c396fdd3011fa0 /util/error.c | |
parent | 49bcce4b9c11759678fd223aefb48691c4959d4f (diff) | |
parent | 88f83f3539fdedd5f315c5fe434ffcb7a010cc73 (diff) |
Merge remote-tracking branch 'remotes/armbru/tags/pull-error-2017-07-13' into staging
Error reporting patches for 2017-07-13
# gpg: Signature made Thu 13 Jul 2017 12:55:45 BST
# gpg: using RSA key 0x3870B400EB918653
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>"
# gpg: aka "Markus Armbruster <armbru@pond.sub.org>"
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653
* remotes/armbru/tags/pull-error-2017-07-13:
Convert error_report*_err() to warn_report*_err()
error: Implement the warn and free Error functions
char-socket: Report TCP socket waiting as information
Convert error_report() to warn_report()
error: Functions to report warnings and informational messages
util/qemu-error: Rename error_print_loc() to be more generic
websock: Don't try to set *errp directly
block: Don't try to set *errp directly
xilinx: Fix latent error handling bug
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'util/error.c')
-rw-r--r-- | util/error.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/util/error.c b/util/error.c index 020b86b9f0..3efdd69162 100644 --- a/util/error.c +++ b/util/error.c @@ -232,6 +232,15 @@ void error_report_err(Error *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, ...) { va_list ap; @@ -242,6 +251,17 @@ void error_reportf_err(Error *err, const char *fmt, ...) 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) { if (err) { |