File gpgme-core-Tweak-STATUS_FAILURE-handling.patch of Package gpgme.28839
From b99502274ae5efdf6df0d967900ec3d1e64373d7 Mon Sep 17 00:00:00 2001
From: Werner Koch <wk@gnupg.org>
Date: Thu, 12 Apr 2018 20:36:30 +0200
Subject: core: Tweak STATUS_FAILURE handling.
* src/op-support.c (_gpgme_parse_failure): Ignore failures with
location "gpg-exit".
Signed-off-by: Werner Koch <wk@gnupg.org>
Index: gpgme-1.10.0/src/op-support.c
===================================================================
--- gpgme-1.10.0.orig/src/op-support.c
+++ gpgme-1.10.0/src/op-support.c
@@ -398,12 +398,21 @@ _gpgme_parse_plaintext (char *args, char
/* Parse a FAILURE status line and return the error code. ARGS is
- modified to contain the location part. */
+ * modified to contain the location part. Note that for now we ignore
+ * failure codes with a location of gpg-exit; they are too trouble
+ * some. Instead we should eventually record that error in the
+ * context and provide a function to return a fuller error
+ * description; this could then also show the location of the error
+ * (e.g. "option- parser") to make it easier for the user to detect
+ * the actual error. */
gpgme_error_t
_gpgme_parse_failure (char *args)
{
char *where, *which;
+ if (!strncmp (args, "gpg-exit", 8))
+ return 0;
+
where = strchr (args, ' ');
if (!where)
return trace_gpg_error (GPG_ERR_INV_ENGINE);
@@ -415,7 +424,5 @@ _gpgme_parse_failure (char *args)
if (where)
*where = '\0';
- where = args;
-
return atoi (which);
}