diff options
author | NIIBE Yutaka <[email protected]> | 2018-10-12 02:36:59 +0000 |
---|---|---|
committer | NIIBE Yutaka <[email protected]> | 2018-12-19 01:04:32 +0000 |
commit | 80a08b655f8f5e7a7d78b766f1770fd474081a48 (patch) | |
tree | 7e7653eb8a49730bd0ce53cd676fda688e699113 | |
parent | Silence compiler warnings new with gcc 8. (diff) | |
download | gnupg-80a08b655f8f5e7a7d78b766f1770fd474081a48.tar.gz gnupg-80a08b655f8f5e7a7d78b766f1770fd474081a48.zip |
agent: Fix message for ACK button.
* agent/divert-scd.c (getpin_cb): Display correct message.
--
Cherry-picked master commit of:
4ed941ff26783c4fabfe2079029f8e436eb7e340
Signed-off-by: NIIBE Yutaka <[email protected]>
Diffstat (limited to '')
-rw-r--r-- | agent/divert-scd.c | 48 |
1 files changed, 35 insertions, 13 deletions
diff --git a/agent/divert-scd.c b/agent/divert-scd.c index e51aa54e5..d93377947 100644 --- a/agent/divert-scd.c +++ b/agent/divert-scd.c @@ -276,27 +276,49 @@ getpin_cb (void *opaque, const char *desc_text, const char *info, } else if (maxbuf == 1) /* Open the pinentry. */ { - if (info && strcmp (info, "--ack") != 0) + if (info) { - char *desc, *desc2; + char *desc; + const char *desc2; - if ( asprintf (&desc, - L_("%s%%0A%%0AUse the reader's pinpad for input."), - info) < 0 ) - rc = gpg_error_from_syserror (); + if (!strcmp (info, "--ack")) + { + desc2 = L_("Push ACK button on card/token."); + + if (desc_text) + { + desc = strconcat (desc_text, + has_percent0A_suffix (desc_text) + ? "%0A" : "%0A%0A", + desc2, NULL); + desc2 = NULL; + } + else + desc = NULL; + } else { - /* Prepend DESC_TEXT to INFO. */ + desc2 = NULL; + if (desc_text) - desc2 = strconcat (desc_text, - has_percent0A_suffix (desc_text) - ? "%0A" : "%0A%0A", - desc, NULL); + desc = strconcat (desc_text, + has_percent0A_suffix (desc_text) + ? "%0A" : "%0A%0A", + info, "%0A%0A", + L_("Use the reader's pinpad for input."), + NULL); else - desc2 = NULL; + desc = strconcat (info, "%0A%0A", + L_("Use the reader's pinpad for input."), + NULL); + } + + if (!desc2 && !desc) + rc = gpg_error_from_syserror (); + else + { rc = agent_popup_message_start (ctrl, desc2? desc2:desc, NULL); - xfree (desc2); xfree (desc); } } |