aboutsummaryrefslogtreecommitdiffstats
path: root/g10/cpr.c
diff options
context:
space:
mode:
Diffstat (limited to 'g10/cpr.c')
-rw-r--r--g10/cpr.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/g10/cpr.c b/g10/cpr.c
index a7fd1aaba..435442636 100644
--- a/g10/cpr.c
+++ b/g10/cpr.c
@@ -245,9 +245,13 @@ write_status_errcode (const char *where, int errcode)
void
write_status_failure (const char *where, gpg_error_t err)
{
+ static int any_failure_printed;
+
if (!statusfp || !status_currently_allowed (STATUS_FAILURE))
return; /* Not enabled or allowed. */
-
+ if (any_failure_printed)
+ return;
+ any_failure_printed = 1;
es_fprintf (statusfp, "[GNUPG:] %s %s %u\n",
get_status_string (STATUS_FAILURE), where, err);
if (es_fflush (statusfp) && opt.exit_on_status_write_error)