diff options
Diffstat (limited to 'src/passphrase.c')
| -rw-r--r-- | src/passphrase.c | 11 | 
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); | 
