gpg: Relax printing of STATUS_FAILURE.
authorWerner Koch <wk@gnupg.org>
Thu, 12 Apr 2018 09:49:36 +0000 (11:49 +0200)
committerWerner Koch <wk@gnupg.org>
Thu, 12 Apr 2018 09:49:36 +0000 (11:49 +0200)
* g10/gpg.c (g10_exit): Print STATUS_FAILURE only based on passed
return code and not on the presence of any call to log_error.
--

This fixes an actual regression in GPGME where FAILURE is considered
for example by a signature verify operation.  The operation will simply
fail and not just record that that a signature could not be verified.
In particular for files with more than one signature a log_error if
often called to show that a pubkey is missing for one of the
signatures.  Using that log_error is correct in that case.

Fixes-commit: 0336e5d1a7b9d46e06c838e6a98aecfcc9542882
Signed-off-by: Werner Koch <wk@gnupg.org>
g10/gpg.c

index fbbdd92..aaeddee 100644 (file)
--- a/g10/gpg.c
+++ b/g10/gpg.c
@@ -5111,7 +5111,7 @@ g10_exit( int rc )
   /* If we had an error but not printed an error message, do it now.
    * Note that write_status_failure will never print a second failure
    * status line. */
-  if (log_get_errorcount (0))
+  if (rc)
     write_status_failure ("gpg-exit", gpg_error (GPG_ERR_GENERAL));
 
   gcry_control (GCRYCTL_UPDATE_RANDOM_SEED_FILE);