From ad46f4f655e653580343c15f1b0b365b7d307d1b Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Mon, 24 Aug 2015 21:17:21 +0200 Subject: [PATCH] Call status_cb for an ERROR status seen in the passphrase handler. * src/passphrase.c (_gpgme_passphrase_status_handler): Call status_cb. -- Frankly, we should have a more generic way of feeding the status_cb handler than our current ad-hoc method. Signed-off-by: Werner Koch --- src/passphrase.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/passphrase.c b/src/passphrase.c index 63ab31e6..5d656b17 100644 --- a/src/passphrase.c +++ b/src/passphrase.c @@ -116,6 +116,18 @@ _gpgme_passphrase_status_handler (void *priv, gpgme_status_code_t code, return gpg_error (GPG_ERR_BAD_PASSPHRASE); break; + 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) + { + err = ctx->status_cb (ctx->status_cb_value, "ERROR", args); + if (err) + return err; + } + break; + default: /* Ignore all other codes. */ break;