scd: fix pinpad input on Windows.
authorNIIBE Yutaka <gniibe@fsij.org>
Fri, 25 Oct 2013 00:57:31 +0000 (09:57 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Fri, 25 Oct 2013 01:00:25 +0000 (10:00 +0900)
* scd/apdu.c (open_pcsc_reader_direct): Don't call
pcsc_vendor_specific_init here, but...
(connect_pcsc_card): Call it here.

--

Thanks to Martin Wolters for the bug report (backport from master).

scd/apdu.c

index 1ef0d9d..a51e181 100644 (file)
@@ -1526,6 +1526,8 @@ connect_pcsc_card (int slot)
       pcsc_dword_t readerlen, atrlen;
       long card_state, card_protocol;
 
+      pcsc_vendor_specific_init (slot);
+
       atrlen = DIM (reader_table[0].atr);
       readerlen = sizeof reader -1 ;
       err = pcsc_status (reader_table[slot].pcsc.card,
@@ -1950,7 +1952,6 @@ open_pcsc_reader_direct (const char *portstr)
   reader_table[slot].send_apdu_reader = pcsc_send_apdu;
   reader_table[slot].dump_status_reader = dump_pcsc_reader_status;
 
-  pcsc_vendor_specific_init (slot);
   dump_reader_status (slot);
   unlock_slot (slot);
   return slot;