diff options
Diffstat (limited to 'server/smartcard.c')
-rw-r--r-- | server/smartcard.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/server/smartcard.c b/server/smartcard.c index f9cafdfa..08ba3da8 100644 --- a/server/smartcard.c +++ b/server/smartcard.c @@ -273,15 +273,18 @@ static int smartcard_channel_client_config_socket(RedChannelClient *rcc) } static uint8_t *smartcard_channel_alloc_msg_rcv_buf(RedChannelClient *rcc, - SpiceDataHeader *msg_header) + uint16_t type, + uint32_t size) { - return spice_malloc(msg_header->size); + return spice_malloc(size); } static void smartcard_channel_release_msg_rcv_buf(RedChannelClient *rcc, - SpiceDataHeader *msg_header, uint8_t *msg) + uint16_t type, + uint32_t size, + uint8_t *msg) { - red_printf("freeing %d bytes", msg_header->size); + red_printf("freeing %d bytes", size); free(msg); } @@ -439,14 +442,15 @@ static void smartcard_channel_write_to_reader(VSCMsgHeader *vheader) } static int smartcard_channel_handle_message(RedChannelClient *rcc, - SpiceDataHeader *header, + uint16_t type, + uint32_t size, uint8_t *msg) { VSCMsgHeader* vheader = (VSCMsgHeader*)msg; - if (header->type != SPICE_MSGC_SMARTCARD_DATA) { + if (type != SPICE_MSGC_SMARTCARD_DATA) { /* handle ack's, spicy sends them while spicec does not */ - return red_channel_client_handle_message(rcc, header->size, header->type, msg); + return red_channel_client_handle_message(rcc, size, type, msg); } ASSERT(header->size == vheader->length + sizeof(VSCMsgHeader)); |