[Spice-devel] [PATCH 13/20] Remove use of opaque from vdi_port_read_one_msg_from_device

Frediano Ziglio fziglio at redhat.com
Fri Apr 15 10:20:28 UTC 2016


 
> From: Christophe Fergeau <cfergeau at redhat.com>
> 
> We can get 'reds' from the RedCharDevice accessible from the
> SpiceCharDeviceInstance passed as an argument.
> ---
>  server/reds.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/server/reds.c b/server/reds.c
> index 7e5626a..3c95864 100644
> --- a/server/reds.c
> +++ b/server/reds.c
> @@ -786,12 +786,14 @@ static void vdi_port_read_buf_free(VDIReadBuf *buf)
>  static PipeItem *vdi_port_read_one_msg_from_device(SpiceCharDeviceInstance
>  *sin,
>                                                     void *opaque)
>  {
> -    RedsState *reds = opaque;
> -    RedCharDeviceVDIPort *dev = reds->agent_dev;
> +    RedsState *reds;
> +    RedCharDeviceVDIPort *dev = RED_CHAR_DEVICE_VDIPORT(sin->st);
>      SpiceCharDeviceInterface *sif;
>      VDIReadBuf *dispatch_buf;
>      int n;
>  
> +    g_object_get(dev, "spice-server", &reds, NULL);
> +    g_assert(RED_CHAR_DEVICE(reds->agent_dev) == sin->st);
>      if (!reds->vdagent) {
>          return NULL;
>      }

This was already acknowledged by Pavel.

Beside the call to g_object_get that I don't like that much...

Acked-by: Frediano Ziglio <fziglio at redhat.com>

Frediano


More information about the Spice-devel mailing list