From b04901468f3e50e8cdc68daf994b2c48922a3115 Mon Sep 17 00:00:00 2001 From: Marcus Brinkmann Date: Tue, 21 Oct 2008 13:53:08 +0000 Subject: [PATCH] 2008-10-21 Marcus Brinkmann * command.c (open_card): If connect error is SW_HOST_NO_CARD, return a more descriptive error. --- scd/ChangeLog | 5 +++++ scd/command.c | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) 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 + + * command.c (open_card): If connect error is SW_HOST_NO_CARD, + return a more descriptive error. + 2008-10-20 Werner Koch * 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); }