aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine-gpgsm.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/engine-gpgsm.c8
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);