diff options
-rw-r--r-- | include/qemu/qemu-print.h | 4 | ||||
-rw-r--r-- | util/qemu-print.c | 27 |
2 files changed, 31 insertions, 0 deletions
diff --git a/include/qemu/qemu-print.h b/include/qemu/qemu-print.h index 8fed32bf42..40b596262f 100644 --- a/include/qemu/qemu-print.h +++ b/include/qemu/qemu-print.h @@ -16,4 +16,8 @@ int qemu_vprintf(const char *fmt, va_list ap) GCC_FMT_ATTR(1, 0); int qemu_printf(const char *fmt, ...) GCC_FMT_ATTR(1, 2); +int qemu_vfprintf(FILE *stream, const char *fmt, va_list ap) + GCC_FMT_ATTR(2, 0); +int qemu_fprintf(FILE *stream, const char *fmt, ...) GCC_FMT_ATTR(2, 3); + #endif diff --git a/util/qemu-print.c b/util/qemu-print.c index 86f9417af8..e79d6b8396 100644 --- a/util/qemu-print.c +++ b/util/qemu-print.c @@ -40,3 +40,30 @@ int qemu_printf(const char *fmt, ...) va_end(ap); return ret; } + +/* + * Print like vfprintf() + * Print to @stream if non-null, else to current monitor. + */ +int qemu_vfprintf(FILE *stream, const char *fmt, va_list ap) +{ + if (!stream) { + return monitor_vprintf(cur_mon, fmt, ap); + } + return vfprintf(stream, fmt, ap); +} + +/* + * Print like fprintf(). + * Print to @stream if non-null, else to current monitor. + */ +int qemu_fprintf(FILE *stream, const char *fmt, ...) +{ + va_list ap; + int ret; + + va_start(ap, fmt); + ret = qemu_vfprintf(stream, fmt, ap); + va_end(ap); + return ret; +} |