From f7e15669c89e1af164b673c6fc51e2fb8e82c6a8 Mon Sep 17 00:00:00 2001 From: KatolaZ Date: Thu, 6 Jul 2017 08:40:58 +0100 Subject: [PATCH] Added Commit.ExtractSignature to wrap git_commit_extract_signature --- commit.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/commit.go b/commit.go index 07b7c37..fc2815a 100644 --- a/commit.go +++ b/commit.go @@ -26,6 +26,27 @@ func (c Commit) RawMessage() string { return C.GoString(C.git_commit_message_raw(c.cast_ptr)) } +func (c Commit) ExtractSignature() (string, string, error) { + + var c_signed C.git_buf + defer C.git_buf_free(&c_signed) + + var c_signature C.git_buf + defer C.git_buf_free(&c_signature) + + oid := c.Id() + + repo := C.git_commit_owner(c.cast_ptr) + ret := C.git_commit_extract_signature(&c_signature, &c_signed, repo, oid.toC(), nil) + + if ret < 0 { + return "", "", MakeGitError(ret) + } else { + return C.GoString(c_signature.ptr), C.GoString(c_signed.ptr), nil + } + +} + func (c Commit) Summary() string { return C.GoString(C.git_commit_summary(c.cast_ptr)) }