diff options
Diffstat (limited to '')
-rw-r--r-- | src/engine-gpgsm.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/engine-gpgsm.c b/src/engine-gpgsm.c index 5fcfbf16..49cf061d 100644 --- a/src/engine-gpgsm.c +++ b/src/engine-gpgsm.c @@ -827,6 +827,8 @@ status_handler (void *opaque, int fd) char emptystring[1] = {0}; err = gpgsm->status.fnc (gpgsm->status.fnc_value, GPGME_STATUS_EOF, emptystring); + if (gpg_err_code (err) == GPG_ERR_FALSE) + err = 0; /* Drop special error code. */ } if (!err && gpgsm->colon.fnc && gpgsm->colon.any) @@ -978,7 +980,11 @@ status_handler (void *opaque, int fd) if (r >= 0) { if (gpgsm->status.fnc) - err = gpgsm->status.fnc (gpgsm->status.fnc_value, r, rest); + { + err = gpgsm->status.fnc (gpgsm->status.fnc_value, r, rest); + if (gpg_err_code (err) == GPG_ERR_FALSE) + err = 0; /* Drop special error code. */ + } } else fprintf (stderr, "[UNKNOWN STATUS]%s %s", line + 2, rest); |