From 9fb7a746e0103ceff2fd8eb9845e782711a87535 Mon Sep 17 00:00:00 2001 From: Jesse Ezell Date: Fri, 28 Feb 2014 10:58:53 -0800 Subject: [PATCH] fix handling of msg to treat empty str as nil --- push.go | 9 +++++++-- remote.go | 10 +++++++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/push.go b/push.go index 0694fe3..d1742e3 100644 --- a/push.go +++ b/push.go @@ -79,8 +79,13 @@ func (p *Push) UpdateTips(sig *Signature, msg string) error { defer C.free(unsafe.Pointer(csig)) } - cmsg := C.CString(msg) - defer C.free(unsafe.Pointer(cmsg)) + var cmsg *C.char + if msg == "" { + cmsg = nil + } else { + cmsg = C.CString(msg) + defer C.free(unsafe.Pointer(cmsg)) + } runtime.LockOSThread() defer runtime.UnlockOSThread() diff --git a/remote.go b/remote.go index ab2e174..900a314 100644 --- a/remote.go +++ b/remote.go @@ -398,9 +398,13 @@ func (o *Remote) Fetch(sig *Signature, msg string) error { defer C.free(unsafe.Pointer(csig)) } - cmsg := C.CString(msg) - defer C.free(unsafe.Pointer(cmsg)) - + var cmsg *C.char + if msg == "" { + cmsg = nil + } else { + cmsg = C.CString(msg) + defer C.free(unsafe.Pointer(cmsg)) + } ret := C.git_remote_fetch(o.ptr, csig, cmsg) if ret < 0 { return MakeGitError(ret)