From bb6901e7f7ec6bfe0dfe6f72df79563f8e7fa37c Mon Sep 17 00:00:00 2001 From: Jonathon Jongsma Date: Fri, 16 Jan 2015 14:58:55 -0600 Subject: [PATCH] Pass 'reds' as opaque data in vdi port char device This allows us to access the RedsState variable non-globally without changing the signature of the callback functions. Acked-by: Pavel Grunt --- server/reds.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/reds.c b/server/reds.c index 98689288..25e9f909 100644 --- a/server/reds.c +++ b/server/reds.c @@ -733,6 +733,7 @@ static void vdi_port_read_buf_unref(VDIReadBuf *buf) static SpiceCharDeviceMsgToClient *vdi_port_read_one_msg_from_device(SpiceCharDeviceInstance *sin, void *opaque) { + RedsState *reds = opaque; VDIPortState *state = &reds->agent_state; SpiceCharDeviceInterface *sif; VDIReadBuf *dispatch_buf; @@ -2987,7 +2988,7 @@ static SpiceCharDeviceState *attach_to_red_agent(SpiceCharDeviceInstance *sin) REDS_TOKENS_TO_SEND, REDS_NUM_INTERNAL_AGENT_MESSAGES, &char_dev_state_cbs, - NULL); + reds); } else { spice_char_device_state_reset_dev_instance(state->base, sin); }