summaryrefslogtreecommitdiff
path: root/config.go
diff options
context:
space:
mode:
authorCarlos Martín Nieto <[email protected]>2016-02-15 15:02:19 +0100
committerCarlos Martín Nieto <[email protected]>2016-02-15 15:02:19 +0100
commit6d6736b2bd4e23a68fa5e0703ab9cf20f3f32af3 (patch)
tree5944351daa7480f7e1a89c46b147701a88dfe697 /config.go
parent6d60e0f2c911b939f2ccae5d3f7d4c554a4d563e (diff)
parent55594814c9009f9d645aea39a9f917cf82666228 (diff)
Merge remote-tracking branch 'upstream/master' into next
Diffstat (limited to 'config.go')
-rw-r--r--config.go8
1 files changed, 5 insertions, 3 deletions
diff --git a/config.go b/config.go
index 73365c8..7408fbc 100644
--- a/config.go
+++ b/config.go
@@ -118,18 +118,20 @@ func (c *Config) LookupInt64(name string) (int64, error) {
}
func (c *Config) LookupString(name string) (string, error) {
- var ptr *C.char
cname := C.CString(name)
defer C.free(unsafe.Pointer(cname))
+ valBuf := C.git_buf{}
+
runtime.LockOSThread()
defer runtime.UnlockOSThread()
- if ret := C.git_config_get_string(&ptr, c.ptr, cname); ret < 0 {
+ if ret := C.git_config_get_string_buf(&valBuf, c.ptr, cname); ret < 0 {
return "", MakeGitError(ret)
}
+ defer C.git_buf_free(&valBuf)
- return C.GoString(ptr), nil
+ return C.GoString(valBuf.ptr), nil
}
func (c *Config) LookupBool(name string) (bool, error) {