aboutsummaryrefslogtreecommitdiffstats
path: root/scd/app.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--scd/app.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/scd/app.c b/scd/app.c
index d0b832843..e66c6cb7a 100644
--- a/scd/app.c
+++ b/scd/app.c
@@ -542,7 +542,7 @@ app_get_serial_and_stamp (app_t app, char **serial, time_t *stamp)
/* Write out the application specifig status lines for the LEARN
command. */
gpg_error_t
-app_write_learn_status (app_t app, ctrl_t ctrl)
+app_write_learn_status (app_t app, ctrl_t ctrl, unsigned int flags)
{
gpg_error_t err;
@@ -553,13 +553,14 @@ app_write_learn_status (app_t app, ctrl_t ctrl)
if (!app->fnc.learn_status)
return gpg_error (GPG_ERR_UNSUPPORTED_OPERATION);
- if (app->apptype)
+ /* We do not send APPTYPE if only keypairinfo is requested. */
+ if (app->apptype && !(flags & 1))
send_status_info (ctrl, "APPTYPE",
app->apptype, strlen (app->apptype), NULL, 0);
err = lock_reader (app->slot);
if (err)
return err;
- err = app->fnc.learn_status (app, ctrl);
+ err = app->fnc.learn_status (app, ctrl, flags);
unlock_reader (app->slot);
return err;
}