2008-10-21 Marcus Brinkmann <marcus@g10code.com>
authorMarcus Brinkmann <mb@g10code.com>
Tue, 21 Oct 2008 13:53:08 +0000 (13:53 +0000)
committerMarcus Brinkmann <mb@g10code.com>
Tue, 21 Oct 2008 13:53:08 +0000 (13:53 +0000)
* command.c (open_card): If connect error is SW_HOST_NO_CARD,
return a more descriptive error.

scd/ChangeLog
scd/command.c

index 04a945d..5159931 100644 (file)
@@ -1,3 +1,8 @@
+2008-10-21  Marcus Brinkmann  <marcus@g10code.com>
+
+       * command.c (open_card): If connect error is SW_HOST_NO_CARD,
+       return a more descriptive error.
+
 2008-10-20  Werner Koch  <wk@g10code.com>
 
        * pcsc-wrapper.c (read_32): Use provided arg and not stdin.  Is
index b835aac..73e02c2 100644 (file)
@@ -405,7 +405,12 @@ open_card (ctrl_t ctrl, const char *apptype)
          select_application.  */
       int sw = apdu_connect (slot);
       if (sw && sw != SW_HOST_ALREADY_CONNECTED)
-        err = gpg_error (GPG_ERR_CARD);
+        {
+          if (sw == SW_HOST_NO_CARD)
+            err = gpg_error (GPG_ERR_CARD_NOT_PRESENT);
+          else
+            err = gpg_error (GPG_ERR_CARD);
+       }
       else
         err = select_application (ctrl, slot, apptype, &ctrl->app_ctx);
     }