aboutsummaryrefslogtreecommitdiffstats
path: root/scd/command.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/command.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/command.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/scd/command.c b/scd/command.c
index 41a150b4d..a7033e856 100644
--- a/scd/command.c
+++ b/scd/command.c
@@ -667,9 +667,18 @@ cmd_learn (assuan_context_t ctx, char *line)
knows about this card */
if (!only_keypairinfo)
{
+ int slot;
+ const char *reader;
char *serial;
time_t stamp;
+ slot = vreader_slot (ctrl->server_local->vreader_idx);
+ reader = apdu_get_reader_name (slot);
+ if (!reader)
+ return out_of_core ();
+ send_status_direct (ctrl, "READER", reader);
+ /* No need to free the string of READER. */
+
rc = app_get_serial_and_stamp (ctrl->app_ctx, &serial, &stamp);
if (rc)
return rc;