aboutsummaryrefslogtreecommitdiffstats
path: root/scd/apdu.c
diff options
context:
space:
mode:
authorNIIBE Yutaka <[email protected]>2015-11-09 07:15:44 +0000
committerNIIBE Yutaka <[email protected]>2015-11-09 07:15:44 +0000
commitbce0e3f71df0709a7d323a688ddf2690c1727a6c (patch)
treeed4c60607c098596b578d323ff1566f78d3a22fd /scd/apdu.c
parentgpg: Avoid new strings. (diff)
downloadgnupg-bce0e3f71df0709a7d323a688ddf2690c1727a6c.tar.gz
gnupg-bce0e3f71df0709a7d323a688ddf2690c1727a6c.zip
scd: Add reder information to --card-status.
* g10/call-agent.h, g10/call-agent.c (agent_release_card_info) g10/card-util.c (card_status): Add READER. * scd/apdu.c (close_ccid_reader, open_ccid_reader): Handle RDRNAME. (apdu_get_reader_name): New. * scd/ccid-driver.c (ccid_open_reader): Add argument to RDRNAME_P. * scd/command.c (cmd_learn): Return READER information.
Diffstat (limited to '')
-rw-r--r--scd/apdu.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/scd/apdu.c b/scd/apdu.c
index 1aebdd331..41790c61c 100644
--- a/scd/apdu.c
+++ b/scd/apdu.c
@@ -2466,6 +2466,7 @@ static int
close_ccid_reader (int slot)
{
ccid_close_reader (reader_table[slot].ccid.handle);
+ reader_table[slot].rdrname = NULL;
reader_table[slot].used = 0;
return 0;
}
@@ -2619,7 +2620,8 @@ open_ccid_reader (const char *portstr)
return -1;
slotp = reader_table + slot;
- err = ccid_open_reader (&slotp->ccid.handle, portstr);
+ err = ccid_open_reader (&slotp->ccid.handle, portstr,
+ (const char **)&slotp->rdrname);
if (err)
{
slotp->used = 0;
@@ -4326,3 +4328,10 @@ apdu_send_direct (int slot, size_t extended_length,
return 0;
}
+
+
+const char *
+apdu_get_reader_name (int slot)
+{
+ return reader_table[slot].rdrname;
+}