aboutsummaryrefslogtreecommitdiff
path: root/monitor.c
diff options
context:
space:
mode:
authorLuiz Capitulino <lcapitulino@redhat.com>2010-02-10 23:50:04 -0200
committerAnthony Liguori <aliguori@us.ibm.com>2010-02-19 15:18:18 -0600
commitb8b08266bd58d26e9c6b529ab4130c13eaed3406 (patch)
tree9265ff8ffb94e59333c223132ade709fdc0b685a /monitor.c
parentb4475aa2b354fa67865c3bf768409386c0dff15b (diff)
downloadqemu-b8b08266bd58d26e9c6b529ab4130c13eaed3406.zip
qemu-b8b08266bd58d26e9c6b529ab4130c13eaed3406.tar.gz
qemu-b8b08266bd58d26e9c6b529ab4130c13eaed3406.tar.bz2
Monitor: Drop the print disabling mechanism
We can ignore calls to monitor_vprintf() in QMP mode and use monitor_puts() directly in monitor_json_emitter(). This allows us to drop this ugly hack. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'monitor.c')
-rw-r--r--monitor.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/monitor.c b/monitor.c
index 2a14e81..d5b406c 100644
--- a/monitor.c
+++ b/monitor.c
@@ -120,7 +120,6 @@ struct mon_fd_t {
typedef struct MonitorControl {
QObject *id;
- int print_enabled;
JSONMessageParser parser;
int command_mode;
} MonitorControl;
@@ -226,16 +225,18 @@ static void monitor_puts(Monitor *mon, const char *str)
void monitor_vprintf(Monitor *mon, const char *fmt, va_list ap)
{
+ char buf[4096];
+
if (!mon)
return;
- if (mon->mc && !mon->mc->print_enabled) {
+ if (monitor_ctrl_mode(mon)) {
qemu_error_new(QERR_UNDEFINED_ERROR);
- } else {
- char buf[4096];
- vsnprintf(buf, sizeof(buf), fmt, ap);
- monitor_puts(mon, buf);
+ return;
}
+
+ vsnprintf(buf, sizeof(buf), fmt, ap);
+ monitor_puts(mon, buf);
}
void monitor_printf(Monitor *mon, const char *fmt, ...)
@@ -306,9 +307,8 @@ static void monitor_json_emitter(Monitor *mon, const QObject *data)
json = qobject_to_json(data);
assert(json != NULL);
- mon->mc->print_enabled = 1;
- monitor_printf(mon, "%s\n", qstring_get_str(json));
- mon->mc->print_enabled = 0;
+ qstring_append_chr(json, '\n');
+ monitor_puts(mon, qstring_get_str(json));
QDECREF(json);
}