Revision b8b08266
b/monitor.c | ||
---|---|---|
120 | 120 |
|
121 | 121 |
typedef struct MonitorControl { |
122 | 122 |
QObject *id; |
123 |
int print_enabled; |
|
124 | 123 |
JSONMessageParser parser; |
125 | 124 |
int command_mode; |
126 | 125 |
} MonitorControl; |
... | ... | |
226 | 225 |
|
227 | 226 |
void monitor_vprintf(Monitor *mon, const char *fmt, va_list ap) |
228 | 227 |
{ |
228 |
char buf[4096]; |
|
229 |
|
|
229 | 230 |
if (!mon) |
230 | 231 |
return; |
231 | 232 |
|
232 |
if (mon->mc && !mon->mc->print_enabled) {
|
|
233 |
if (monitor_ctrl_mode(mon)) {
|
|
233 | 234 |
qemu_error_new(QERR_UNDEFINED_ERROR); |
234 |
} else { |
|
235 |
char buf[4096]; |
|
236 |
vsnprintf(buf, sizeof(buf), fmt, ap); |
|
237 |
monitor_puts(mon, buf); |
|
235 |
return; |
|
238 | 236 |
} |
237 |
|
|
238 |
vsnprintf(buf, sizeof(buf), fmt, ap); |
|
239 |
monitor_puts(mon, buf); |
|
239 | 240 |
} |
240 | 241 |
|
241 | 242 |
void monitor_printf(Monitor *mon, const char *fmt, ...) |
... | ... | |
306 | 307 |
json = qobject_to_json(data); |
307 | 308 |
assert(json != NULL); |
308 | 309 |
|
309 |
mon->mc->print_enabled = 1; |
|
310 |
monitor_printf(mon, "%s\n", qstring_get_str(json)); |
|
311 |
mon->mc->print_enabled = 0; |
|
310 |
qstring_append_chr(json, '\n'); |
|
311 |
monitor_puts(mon, qstring_get_str(json)); |
|
312 | 312 |
|
313 | 313 |
QDECREF(json); |
314 | 314 |
} |
Also available in: Unified diff