summaryrefslogtreecommitdiff
path: root/reference.go
diff options
context:
space:
mode:
authorCarlos Martín Nieto <[email protected]>2014-02-27 17:03:20 +0100
committerCarlos Martín Nieto <[email protected]>2014-02-27 17:03:20 +0100
commitc431fe3c2c7d82626df6b3f3e1a9301648b4088b (patch)
tree01cce272f58ccc86c858500d15a6b69b9c42bd4d /reference.go
parent1c1f7bd1fab3be4a1274149292979bea4ee8aadf (diff)
parent2c8de242eeff532feb5258d4f150739d307d7e9f (diff)
Merge pull request #60 from libgit2/cmn/reflogs-default
Allow for a default in reflog messages
Diffstat (limited to 'reference.go')
-rw-r--r--reference.go27
1 files changed, 21 insertions, 6 deletions
diff --git a/reference.go b/reference.go
index 45a3b22..bf0d741 100644
--- a/reference.go
+++ b/reference.go
@@ -40,8 +40,13 @@ func (v *Reference) SetSymbolicTarget(target string, sig *Signature, msg string)
csig := sig.toC()
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_reference_symbolic_set_target(&ptr, v.ptr, ctarget, csig, cmsg)
if ret < 0 {
@@ -60,8 +65,13 @@ func (v *Reference) SetTarget(target *Oid, sig *Signature, msg string) (*Referen
csig := sig.toC()
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_reference_set_target(&ptr, v.ptr, target.toC(), csig, cmsg)
if ret < 0 {
@@ -93,8 +103,13 @@ func (v *Reference) Rename(name string, force bool, sig *Signature, msg string)
csig := sig.toC()
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()