aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--scd/ChangeLog5
-rw-r--r--scd/command.c7
2 files changed, 11 insertions, 1 deletions
diff --git a/scd/ChangeLog b/scd/ChangeLog
index 04a945d0f..51599315f 100644
--- a/scd/ChangeLog
+++ b/scd/ChangeLog
@@ -1,3 +1,8 @@
+2008-10-21 Marcus Brinkmann <[email protected]>
+
+ * command.c (open_card): If connect error is SW_HOST_NO_CARD,
+ return a more descriptive error.
+
2008-10-20 Werner Koch <[email protected]>
* pcsc-wrapper.c (read_32): Use provided arg and not stdin. Is
diff --git a/scd/command.c b/scd/command.c
index b835aac73..73e02c22d 100644
--- a/scd/command.c
+++ b/scd/command.c
@@ -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);
}