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