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

Jonathon Jongsma jjongsma at redhat.com
Thu Apr 14 21:50:15 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;
     }
-- 
2.4.11



More information about the Spice-devel mailing list