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); }