From: Lukas Puehringer <luk.puehrin...@gmail.com>

Functions that print git object information may require that the
gpg-interface functions be silent. Add GPG_VERIFY_QUIET flag and prevent
print_signature_buffer from being called if flag is set.

Signed-off-by: Lukas Puehringer <luk.puehrin...@gmail.com>
---
 gpg-interface.h | 1 +
 tag.c           | 5 ++++-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/gpg-interface.h b/gpg-interface.h
index ea68885..85dc982 100644
--- a/gpg-interface.h
+++ b/gpg-interface.h
@@ -3,6 +3,7 @@
 
 #define GPG_VERIFY_VERBOSE     1
 #define GPG_VERIFY_RAW         2
+#define GPG_VERIFY_QUIET       4
 
 struct signature_check {
        char *payload;
diff --git a/tag.c b/tag.c
index d1dcd18..291073f 100644
--- a/tag.c
+++ b/tag.c
@@ -3,6 +3,7 @@
 #include "commit.h"
 #include "tree.h"
 #include "blob.h"
+#include "gpg-interface.h"
 
 const char *tag_type = "tag";
 
@@ -24,7 +25,9 @@ static int run_gpg_verify(const char *buf, unsigned long 
size, unsigned flags)
 
        ret = check_signature(buf, payload_size, buf + payload_size,
                                size - payload_size, &sigc);
-       print_signature_buffer(&sigc, flags);
+
+       if (!(flags & GPG_VERIFY_QUIET))
+               print_signature_buffer(&sigc, flags);
 
        signature_check_clear(&sigc);
        return ret;
-- 
2.10.0

Reply via email to