fix handling of msg to treat empty str as nil

This commit is contained in:
Jesse Ezell 2014-02-28 10:58:53 -08:00
parent 374e2112df
commit 9fb7a746e0
2 changed files with 14 additions and 5 deletions

View File

@ -79,8 +79,13 @@ func (p *Push) UpdateTips(sig *Signature, msg string) error {
defer C.free(unsafe.Pointer(csig)) defer C.free(unsafe.Pointer(csig))
} }
cmsg := C.CString(msg) var cmsg *C.char
defer C.free(unsafe.Pointer(cmsg)) if msg == "" {
cmsg = nil
} else {
cmsg = C.CString(msg)
defer C.free(unsafe.Pointer(cmsg))
}
runtime.LockOSThread() runtime.LockOSThread()
defer runtime.UnlockOSThread() defer runtime.UnlockOSThread()

View File

@ -398,9 +398,13 @@ func (o *Remote) Fetch(sig *Signature, msg string) error {
defer C.free(unsafe.Pointer(csig)) defer C.free(unsafe.Pointer(csig))
} }
cmsg := C.CString(msg) var cmsg *C.char
defer C.free(unsafe.Pointer(cmsg)) if msg == "" {
cmsg = nil
} else {
cmsg = C.CString(msg)
defer C.free(unsafe.Pointer(cmsg))
}
ret := C.git_remote_fetch(o.ptr, csig, cmsg) ret := C.git_remote_fetch(o.ptr, csig, cmsg)
if ret < 0 { if ret < 0 {
return MakeGitError(ret) return MakeGitError(ret)