> -void qmp_screendump(const char *filename, Error **errp) > +void qmp_screendump(const char *filename, bool has_device, const char > *device, > + bool has_head, int64_t head, Error **errp) > { > QemuConsole *con = qemu_console_lookup_by_index(0);
This initialization can be dropped ... > DisplaySurface *surface; > > - if (con == NULL) { > - error_setg(errp, "There is no QemuConsole I can screendump from."); > - return; > + if (has_device) { > + con = qemu_console_lookup_by_device_name(device, has_head ? head : 0, > + errp); > + if (!con) { > + return; > + } > + } else { > + if (has_head) { > + error_setg(errp, "'head' must be specified together with > 'device'"); > + return; > + } > + con = qemu_console_lookup_by_index(0); ... because it is called here now. Otherwise looks fine now. cheers, Gerd