diff options
Diffstat (limited to 'util')
-rw-r--r-- | util/error.c | 13 | ||||
-rw-r--r-- | util/qemu-error.c | 5 |
2 files changed, 13 insertions, 5 deletions
diff --git a/util/error.c b/util/error.c index 3efdd69..b5ccbd8 100644 --- a/util/error.c +++ b/util/error.c @@ -292,3 +292,16 @@ void error_propagate(Error **dst_errp, Error *local_err) error_free(local_err); } } + +void error_propagate_prepend(Error **dst_errp, Error *err, + const char *fmt, ...) +{ + va_list ap; + + if (dst_errp && !*dst_errp) { + va_start(ap, fmt); + error_vprepend(&err, fmt, ap); + va_end(ap); + } /* else error is being ignored, don't bother with prepending */ + error_propagate(dst_errp, err); +} diff --git a/util/qemu-error.c b/util/qemu-error.c index 4ab428f..fcbe8a1 100644 --- a/util/qemu-error.c +++ b/util/qemu-error.c @@ -194,7 +194,6 @@ bool enable_timestamp_msg; * Format arguments like vsprintf(). The resulting message should be * a single phrase, with no newline or trailing punctuation. * Prepend the current location and append a newline. - * It's wrong to call this in a QMP monitor. Use error_setg() there. */ static void vreport(report_type type, const char *fmt, va_list ap) { @@ -242,7 +241,6 @@ void error_vreport(const char *fmt, va_list ap) * Format arguments like vsprintf(). The resulting message should be * a single phrase, with no newline or trailing punctuation. * Prepend the current location and append a newline. - * It's wrong to call this in a QMP monitor. Use error_setg() there. */ void warn_vreport(const char *fmt, va_list ap) { @@ -255,7 +253,6 @@ void warn_vreport(const char *fmt, va_list ap) * Format arguments like vsprintf(). The resulting message should be * a single phrase, with no newline or trailing punctuation. * Prepend the current location and append a newline. - * It's wrong to call this in a QMP monitor. Use error_setg() there. */ void info_vreport(const char *fmt, va_list ap) { @@ -283,7 +280,6 @@ void error_report(const char *fmt, ...) * Format arguments like sprintf(). The resulting message should be a * single phrase, with no newline or trailing punctuation. * Prepend the current location and append a newline. - * It's wrong to call this in a QMP monitor. Use error_setg() there. */ void warn_report(const char *fmt, ...) { @@ -300,7 +296,6 @@ void warn_report(const char *fmt, ...) * Format arguments like sprintf(). The resulting message should be a * single phrase, with no newline or trailing punctuation. * Prepend the current location and append a newline. - * It's wrong to call this in a QMP monitor. Use error_setg() there. */ void info_report(const char *fmt, ...) { |