Merge 'kn/for-each-tag-branch' into kn/for-each-tag
[gitweb.git] / gpg-interface.c
index 66dbee25b3ce77e10000c285188a64917cb7a37f..3dc2fe397e32d79713780596f0ef4666c14b5955 100644 (file)
@@ -60,7 +60,7 @@ void parse_gpg_output(struct signature_check *sigc)
        }
 }
 
-void check_signature(const char *payload, size_t plen, const char *signature,
+int check_signature(const char *payload, size_t plen, const char *signature,
        size_t slen, struct signature_check *sigc)
 {
        struct strbuf gpg_output = STRBUF_INIT;
@@ -81,6 +81,20 @@ void check_signature(const char *payload, size_t plen, const char *signature,
  out:
        strbuf_release(&gpg_status);
        strbuf_release(&gpg_output);
+
+       return sigc->result != 'G' && sigc->result != 'U';
+}
+
+void print_signature_buffer(const struct signature_check *sigc, unsigned flags)
+{
+       const char *output = flags & GPG_VERIFY_RAW ?
+               sigc->gpg_status : sigc->gpg_output;
+
+       if (flags & GPG_VERIFY_VERBOSE && sigc->payload)
+               fputs(sigc->payload, stdout);
+
+       if (output)
+               fputs(output, stderr);
 }
 
 /*