diff options
author | NIIBE Yutaka <gniibe@fsij.org> | 2017-01-06 02:07:40 +0100 |
---|---|---|
committer | NIIBE Yutaka <gniibe@fsij.org> | 2017-01-06 02:07:40 +0100 |
commit | 62268a2732dddca7a05ca4cf45d0e4338c7dc3c4 (patch) | |
tree | 69503690d35883d5fdef87837ee6d17d1940c53f /scd | |
parent | scd: Support multiple readers by CCID driver. (diff) | |
download | gnupg2-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.c | 7 |
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); |