summaryrefslogtreecommitdiff
path: root/patch.go
diff options
context:
space:
mode:
Diffstat (limited to 'patch.go')
-rw-r--r--patch.go5
1 files changed, 4 insertions, 1 deletions
diff --git a/patch.go b/patch.go
index 45e14ac..0d0df7f 100644
--- a/patch.go
+++ b/patch.go
@@ -40,15 +40,18 @@ func (patch *Patch) String() (string, error) {
if patch.ptr == nil {
return "", ErrInvalid
}
- var buf C.git_buf
runtime.LockOSThread()
defer runtime.UnlockOSThread()
+ var buf C.git_buf
+
ecode := C.git_patch_to_buf(&buf, patch.ptr)
if ecode < 0 {
return "", MakeGitError(ecode)
}
+ defer C.git_buf_free(&buf)
+
return C.GoString(buf.ptr), nil
}