(close_ct_reader, close_pcsc_reader): Implemented.
authorWerner Koch <wk@gnupg.org>
Thu, 30 Oct 2003 09:30:20 +0000 (09:30 +0000)
committerWerner Koch <wk@gnupg.org>
Thu, 30 Oct 2003 09:30:20 +0000 (09:30 +0000)
(get_ccid_error_string): New.  Not very useful messages, though.

g10/ChangeLog
g10/apdu.c

index 2c6b1bc..62b728a 100644 (file)
@@ -1,3 +1,8 @@
+2003-10-30  Werner Koch  <wk@gnupg.org>
+
+       * apdu.c (close_ct_reader, close_pcsc_reader): Implemented.
+       (get_ccid_error_string): New.  Not very useful messages, though.
+
 2003-10-29  Werner Koch  <wk@gnupg.org>
 
        * cardglue.c (open_card): Ask for card insertion.
index f561677..27304c8 100644 (file)
@@ -363,7 +363,7 @@ open_ct_reader (int port)
 static int
 close_ct_reader (int slot)
 {
-  /* FIXME: Implement. */
+  CT_close (slot);
   reader_table[slot].used = 0;
   return 0;
 }
@@ -594,7 +594,7 @@ pcsc_send_apdu (int slot, unsigned char *apdu, size_t apdulen,
 static int
 close_pcsc_reader (int slot)
 {
-  /* FIXME: Implement. */
+  pcsc_release_context (reader_table[slot].pcsc.context);
   reader_table[slot].used = 0;
   return 0;
 }
@@ -608,6 +608,15 @@ close_pcsc_reader (int slot)
      Internal CCID driver interface.
  */
 
+static const char *
+get_ccid_error_string (long err)
+{
+  if (!err)
+    return "okay";
+  else
+    return "unknown CCID error";
+}
+
 static int
 open_ccid_reader (void)
 {
@@ -1062,7 +1071,7 @@ error_string (int slot, long rc)
     return ct_error_string (rc);
 #ifdef HAVE_LIBUSB
   else if (reader_table[slot].is_ccid)
-    return "no CCID driver error strings yet";
+    return get_ccid_error_string (rc);
 #endif
 #ifdef HAVE_OPENSC
   else if (reader_table[slot].is_osc)