679cb8e1a1
printf() & friends return the number of characters written on success, negative value on error. monitor_printf(), monitor_vfprintf(), monitor_vprintf(), error_printf(), error_printf_unless_qmp(), error_vprintf(), and error_vprintf_unless_qmp() return void. Some of them carry a TODO comment asking for int instead. Improve them to return int like printf() does. This makes our use of monitor_printf() as fprintf_function slightly less dirty: the function cast no longer adds a return value that isn't there. It still changes a parameter's pointer type. That will be addressed in a future commit. monitor_vfprintf() always returns zero. Improve it to return the proper value. Cc: Dr. David Alan Gilbert <dgilbert@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Message-Id: <20190417190641.26814-11-armbru@redhat.com>
24 lines
535 B
C
24 lines
535 B
C
#include "qemu/osdep.h"
|
|
#include "qemu-common.h"
|
|
#include "qemu/error-report.h"
|
|
|
|
int error_vprintf(const char *fmt, va_list ap)
|
|
{
|
|
int ret;
|
|
|
|
if (g_test_initialized() && !g_test_subprocess() &&
|
|
getenv("QTEST_SILENT_ERRORS")) {
|
|
char *msg = g_strdup_vprintf(fmt, ap);
|
|
g_test_message("%s", msg);
|
|
ret = strlen(msg);
|
|
g_free(msg);
|
|
return ret;
|
|
}
|
|
return vfprintf(stderr, fmt, ap);
|
|
}
|
|
|
|
int error_vprintf_unless_qmp(const char *fmt, va_list ap)
|
|
{
|
|
return error_vprintf(fmt, ap);
|
|
}
|