summaryrefslogtreecommitdiffstats
path: root/scd/app.c
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2020-02-13 15:43:17 +0100
committerWerner Koch <wk@gnupg.org>2020-02-13 15:43:17 +0100
commit11d917c7796dc748e2d798d327a045ba295994f4 (patch)
treea8bde4f28cde5bf6b64596fbfbe851ef98ebb4ee /scd/app.c
parentcard: Fix openpgp subkey listing. (diff)
downloadgnupg2-11d917c7796dc748e2d798d327a045ba295994f4.tar.xz
gnupg2-11d917c7796dc748e2d798d327a045ba295994f4.zip
scd: Print the main app name also for not fully supported cards.
* scd/app.c (send_serialno_and_app_status): Add fallback. -- The app list was only printed for apps which support the with_keygrip function. That is not the case for the netkey and otehr cards. The new fallback prints the actual app name. Signed-off-by: Werner Koch <wk@gnupg.org>
Diffstat (limited to 'scd/app.c')
-rw-r--r--scd/app.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/scd/app.c b/scd/app.c
index 3cd40608b..5e42aaec9 100644
--- a/scd/app.c
+++ b/scd/app.c
@@ -2037,6 +2037,7 @@ send_serialno_and_app_status (card_t card, int with_apps, ctrl_t ctrl)
char buf[65];
char *p;
membuf_t mb;
+ int any = 0;
if (DIM (buf) < 2 * card->serialnolen + 1)
return 0; /* Oops. */
@@ -2057,9 +2058,17 @@ send_serialno_and_app_status (card_t card, int with_apps, ctrl_t ctrl)
{
if (!a->fnc.with_keygrip)
continue;
+ any = 1;
put_membuf (&mb, " ", 1);
put_membuf_str (&mb, xstrapptype (a));
}
+ if (!any && card->app)
+ {
+ /* No card app supports the with_keygrip function. Use the
+ * main app as fallback. */
+ put_membuf (&mb, " ", 1);
+ put_membuf_str (&mb, xstrapptype (card->app));
+ }
put_membuf (&mb, "", 1);
p = get_membuf (&mb, NULL);
if (!p)