aboutsummaryrefslogtreecommitdiffstats
path: root/src/passphrase.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/passphrase.c')
-rw-r--r--src/passphrase.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/passphrase.c b/src/passphrase.c
index c88e57d2..74d235cb 100644
--- a/src/passphrase.c
+++ b/src/passphrase.c
@@ -118,9 +118,8 @@ _gpgme_passphrase_status_handler (void *priv, gpgme_status_code_t code,
case GPGME_STATUS_ERROR:
/* We abuse this status handler to forward ERROR status codes to
- the caller. This should better be done in a generic handler,
- but for now this is sufficient. */
- if (ctx->status_cb)
+ the caller. */
+ if (ctx->status_cb && !ctx->full_status)
{
err = ctx->status_cb (ctx->status_cb_value, "ERROR", args);
if (err)
@@ -130,9 +129,8 @@ _gpgme_passphrase_status_handler (void *priv, gpgme_status_code_t code,
case GPGME_STATUS_FAILURE:
/* We abuse this status handler to forward FAILURE status codes
- to the caller. This should better be done in a generic
- handler, but for now this is sufficient. */
- if (ctx->status_cb)
+ to the caller. */
+ if (ctx->status_cb && !ctx->full_status)
{
err = ctx->status_cb (ctx->status_cb_value, "FAILURE", args);
if (err)
@@ -173,6 +171,7 @@ _gpgme_passphrase_command_handler (void *priv, gpgme_status_code_t code,
if (processed)
*processed = 1;
+ /* Fake a status line to to convey the MAXLEN info. */
if (ctx->status_cb && opd->maxlen)
err = ctx->status_cb (ctx->status_cb_value, "INQUIRE_MAXLEN",
opd->maxlen);