verify-tag: share code with verify-commit
[gitweb.git] / commit.c
index a8c7577d28a4b2a0b5fc13420f8a141871626087..d07a9849850a3e958870358c67dd88f16c9a4156 100644 (file)
--- a/commit.c
+++ b/commit.c
@@ -1231,27 +1231,14 @@ void check_commit_signature(const struct commit *commit, struct signature_check
 {
        struct strbuf payload = STRBUF_INIT;
        struct strbuf signature = STRBUF_INIT;
-       struct strbuf gpg_output = STRBUF_INIT;
-       struct strbuf gpg_status = STRBUF_INIT;
-       int status;
 
        sigc->result = 'N';
 
        if (parse_signed_commit(commit, &payload, &signature) <= 0)
                goto out;
-       status = verify_signed_buffer(payload.buf, payload.len,
-                                     signature.buf, signature.len,
-                                     &gpg_output, &gpg_status);
-       if (status && !gpg_output.len)
-               goto out;
-       sigc->payload = strbuf_detach(&payload, NULL);
-       sigc->gpg_output = strbuf_detach(&gpg_output, NULL);
-       sigc->gpg_status = strbuf_detach(&gpg_status, NULL);
-       parse_gpg_output(sigc);
+       check_signature(payload.buf, payload.len, signature.buf, signature.len, sigc);
 
  out:
-       strbuf_release(&gpg_status);
-       strbuf_release(&gpg_output);
        strbuf_release(&payload);
        strbuf_release(&signature);
 }