Paolo Bonzini | 397d30e | 2016-10-24 18:31:02 +0200 | [diff] [blame] | 1 | #include "qemu/osdep.h" |
Paolo Bonzini | 397d30e | 2016-10-24 18:31:02 +0200 | [diff] [blame] | 2 | #include "qemu/error-report.h" |
| 3 | |
Markus Armbruster | 679cb8e | 2019-04-17 21:06:36 +0200 | [diff] [blame] | 4 | int error_vprintf(const char *fmt, va_list ap) |
Paolo Bonzini | 397d30e | 2016-10-24 18:31:02 +0200 | [diff] [blame] | 5 | { |
Markus Armbruster | 679cb8e | 2019-04-17 21:06:36 +0200 | [diff] [blame] | 6 | int ret; |
| 7 | |
Daniel P. Berrangé | 977a720 | 2018-07-18 09:34:47 +0100 | [diff] [blame] | 8 | if (g_test_initialized() && !g_test_subprocess() && |
| 9 | getenv("QTEST_SILENT_ERRORS")) { |
Paolo Bonzini | 28017e0 | 2016-10-24 18:31:03 +0200 | [diff] [blame] | 10 | char *msg = g_strdup_vprintf(fmt, ap); |
| 11 | g_test_message("%s", msg); |
Markus Armbruster | 679cb8e | 2019-04-17 21:06:36 +0200 | [diff] [blame] | 12 | ret = strlen(msg); |
Paolo Bonzini | 28017e0 | 2016-10-24 18:31:03 +0200 | [diff] [blame] | 13 | g_free(msg); |
Markus Armbruster | 679cb8e | 2019-04-17 21:06:36 +0200 | [diff] [blame] | 14 | return ret; |
Paolo Bonzini | 28017e0 | 2016-10-24 18:31:03 +0200 | [diff] [blame] | 15 | } |
Markus Armbruster | 679cb8e | 2019-04-17 21:06:36 +0200 | [diff] [blame] | 16 | return vfprintf(stderr, fmt, ap); |
Paolo Bonzini | 397d30e | 2016-10-24 18:31:02 +0200 | [diff] [blame] | 17 | } |
| 18 | |
Markus Armbruster | 679cb8e | 2019-04-17 21:06:36 +0200 | [diff] [blame] | 19 | int error_vprintf_unless_qmp(const char *fmt, va_list ap) |
Paolo Bonzini | 397d30e | 2016-10-24 18:31:02 +0200 | [diff] [blame] | 20 | { |
Markus Armbruster | 679cb8e | 2019-04-17 21:06:36 +0200 | [diff] [blame] | 21 | return error_vprintf(fmt, ap); |
Paolo Bonzini | 397d30e | 2016-10-24 18:31:02 +0200 | [diff] [blame] | 22 | } |