forked from qemu/qemu
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
qemu-print: New qemu_printf(), qemu_vprintf() etc.
We commonly want to print to the current monitor if we have one, else to stdout/stderr. For stderr, have error_printf(). For stdout, all we have is monitor_vfprintf(), which is rather unwieldy. We often print to stderr just because error_printf() is easier. New qemu_printf() and qemu_vprintf() do exactly what's needed. The next commits will put them to use. Cc: Dr. David Alan Gilbert <dgilbert@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Message-Id: <20190417190641.26814-12-armbru@redhat.com>
- Loading branch information
Markus Armbruster
committed
Apr 18, 2019
1 parent
679cb8e
commit 637de4d
Showing
6 changed files
with
70 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
/* | ||
* Print to stream or current monitor | ||
* | ||
* Copyright (C) 2019 Red Hat Inc. | ||
* | ||
* Authors: | ||
* Markus Armbruster <armbru@redhat.com>, | ||
* | ||
* This work is licensed under the terms of the GNU GPL, version 2 or later. | ||
* See the COPYING file in the top-level directory. | ||
*/ | ||
|
||
#ifndef QEMU_PRINT_H | ||
#define QEMU_PRINT_H | ||
|
||
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); | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
/* | ||
* Print to stream or current monitor | ||
* | ||
* Copyright (C) 2019 Red Hat Inc. | ||
* | ||
* Authors: | ||
* Markus Armbruster <armbru@redhat.com>, | ||
* | ||
* This work is licensed under the terms of the GNU GPL, version 2 or later. | ||
* See the COPYING file in the top-level directory. | ||
*/ | ||
|
||
#include "qemu/osdep.h" | ||
#include "monitor/monitor.h" | ||
#include "qemu/qemu-print.h" | ||
|
||
/* | ||
* Print like vprintf(). | ||
* Print to current monitor if we have one, else to stdout. | ||
*/ | ||
int qemu_vprintf(const char *fmt, va_list ap) | ||
{ | ||
if (cur_mon) { | ||
return monitor_vprintf(cur_mon, fmt, ap); | ||
} | ||
return vprintf(fmt, ap); | ||
} | ||
|
||
/* | ||
* Print like printf(). | ||
* Print to current monitor if we have one, else to stdout. | ||
*/ | ||
int qemu_printf(const char *fmt, ...) | ||
{ | ||
va_list ap; | ||
int ret; | ||
|
||
va_start(ap, fmt); | ||
ret = qemu_vprintf(fmt, ap); | ||
va_end(ap); | ||
return ret; | ||
} |