summaryrefslogtreecommitdiffstats
path: root/scd
diff options
context:
space:
mode:
authorNIIBE Yutaka <gniibe@fsij.org>2017-01-06 02:07:40 +0100
committerNIIBE Yutaka <gniibe@fsij.org>2017-01-06 02:07:40 +0100
commit62268a2732dddca7a05ca4cf45d0e4338c7dc3c4 (patch)
tree69503690d35883d5fdef87837ee6d17d1940c53f /scd
parentscd: Support multiple readers by CCID driver. (diff)
downloadgnupg2-62268a2732dddca7a05ca4cf45d0e4338c7dc3c4.tar.xz
gnupg2-62268a2732dddca7a05ca4cf45d0e4338c7dc3c4.zip
scd: Fix for --disable-ccid-driver.
* scd/apdu.c [HAVE_LIBUSB] (apdu_dev_list_start): Conditionalize. [HAVE_LIBUSB] (apdu_dev_list_finish, apdu_open_reader): Likewise. Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
Diffstat (limited to 'scd')
-rw-r--r--scd/apdu.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/scd/apdu.c b/scd/apdu.c
index 50363ce4c..db46c4dfe 100644
--- a/scd/apdu.c
+++ b/scd/apdu.c
@@ -2919,7 +2919,6 @@ open_rapdu_reader (int portno,
gpg_error_t
apdu_dev_list_start (const char *portstr, struct dev_list **l_p)
{
- gpg_error_t err;
struct dev_list *dl = xtrymalloc (sizeof (struct dev_list));
*l_p = NULL;
@@ -2939,6 +2938,8 @@ apdu_dev_list_start (const char *portstr, struct dev_list **l_p)
}
else
{
+ gpg_error_t err;
+
err = ccid_dev_scan (&dl->idx_max, &dl->ccid_table);
if (err)
return err;
@@ -2972,7 +2973,9 @@ apdu_dev_list_start (const char *portstr, struct dev_list **l_p)
void
apdu_dev_list_finish (struct dev_list *dl)
{
+#ifdef HAVE_LIBUSB
ccid_dev_scan_finish (dl->ccid_table, dl->idx_max);
+#endif
xfree (dl);
npth_mutex_unlock (&reader_table_lock);
}
@@ -3117,6 +3120,7 @@ apdu_open_reader (struct dev_list *dl)
{
int slot;
+#ifdef HAVE_LIBUSB
if (dl->ccid_table)
{ /* CCID readers. */
int readerno;
@@ -3189,6 +3193,7 @@ apdu_open_reader (struct dev_list *dl)
slot = -1;
}
else
+#endif
{ /* PC/SC readers. */
if (dl->idx++ == 0)
slot = apdu_open_one_reader (dl->portstr);