[Spice-devel] [PATCH 02/17] Add RedsState arg to smartcard_device_connect()

Frediano Ziglio fziglio at redhat.com
Thu Feb 11 19:29:24 UTC 2016


> 
> From: Jonathon Jongsma <jjongsma at redhat.com>
> 
> ---
>  server/reds.c      | 3 +--
>  server/smartcard.c | 8 ++++----
>  server/smartcard.h | 2 +-
>  3 files changed, 6 insertions(+), 7 deletions(-)
> 
> diff --git a/server/reds.c b/server/reds.c
> index c33aded..8f26d83 100644
> --- a/server/reds.c
> +++ b/server/reds.c
> @@ -3097,7 +3097,7 @@ static int
> spice_server_char_device_add_interface(SpiceServer *s,
>      }
>  #ifdef USE_SMARTCARD
>      else if (strcmp(char_device->subtype, SUBTYPE_SMARTCARD) == 0) {
> -        if (!(dev_state = smartcard_device_connect(char_device))) {
> +        if (!(dev_state = smartcard_device_connect(reds, char_device))) {
>              return -1;
>          }
>      }
> @@ -3120,7 +3120,6 @@ static int
> spice_server_char_device_add_interface(SpiceServer *s,
>          if (reds->vm_running) {
>              spice_char_device_start(char_device->st);
>          }
> -        spice_char_device_set_server(char_device->st, reds);

This function is now not used, should be removed in this or in another
following patch

>          reds_char_device_add_state(reds, char_device->st);
>      } else {
>          spice_warning("failed to create device state for %s",
>          char_device->subtype);
> diff --git a/server/smartcard.c b/server/smartcard.c
> index 0d6ba7b..e9e58a8 100644
> --- a/server/smartcard.c
> +++ b/server/smartcard.c
> @@ -114,7 +114,7 @@ static void
> smartcard_channel_write_to_reader(SpiceCharDeviceWriteBuffer *write_
>  
>  static MsgItem *smartcard_char_device_on_message_from_device(
>      SmartCardDeviceState *state, VSCMsgHeader *header);
> -static SmartCardDeviceState
> *smartcard_device_state_new(SpiceCharDeviceInstance *sin);
> +static SmartCardDeviceState *smartcard_device_state_new(RedsState *reds,
> SpiceCharDeviceInstance *sin);
>  static void smartcard_device_state_free(SmartCardDeviceState* st);
>  static void smartcard_init(void);
>  
> @@ -266,7 +266,7 @@ static SpiceCharDeviceInstance
> *smartcard_readers_get_unattached(void)
>      return NULL;
>  }
>  
> -static SmartCardDeviceState
> *smartcard_device_state_new(SpiceCharDeviceInstance *sin)
> +static SmartCardDeviceState *smartcard_device_state_new(RedsState *reds,
> SpiceCharDeviceInstance *sin)
>  {
>      SmartCardDeviceState *st;
>      SpiceCharDeviceCallbacks chardev_cbs = { NULL, };
> @@ -312,11 +312,11 @@ void
> smartcard_device_disconnect(SpiceCharDeviceInstance *char_device)
>      smartcard_device_state_free(st);
>  }
>  
> -SpiceCharDeviceState *smartcard_device_connect(SpiceCharDeviceInstance
> *char_device)
> +SpiceCharDeviceState *smartcard_device_connect(RedsState *reds,
> SpiceCharDeviceInstance *char_device)
>  {
>      SmartCardDeviceState *st;
>  
> -    st = smartcard_device_state_new(char_device);
> +    st = smartcard_device_state_new(reds, char_device);
>      if (smartcard_char_device_add_to_readers(char_device) == -1) {
>          smartcard_device_state_free(st);
>          return NULL;
> diff --git a/server/smartcard.h b/server/smartcard.h
> index f9cbbfc..cf9d49b 100644
> --- a/server/smartcard.h
> +++ b/server/smartcard.h
> @@ -24,7 +24,7 @@
>  /*
>   * connect to smartcard interface, used by smartcard channel
>   */
> -SpiceCharDeviceState *smartcard_device_connect(SpiceCharDeviceInstance
> *char_device);
> +SpiceCharDeviceState *smartcard_device_connect(RedsState *reds,
> SpiceCharDeviceInstance *char_device);
>  void smartcard_device_disconnect(SpiceCharDeviceInstance *char_device);
>  
>  #endif // __SMART_CARD_H__

Frediano


More information about the Spice-devel mailing list