> -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

Reply via email to