diff options
| author | Carlos Martín Nieto <[email protected]> | 2015-10-09 13:00:26 +0200 |
|---|---|---|
| committer | Carlos Martín Nieto <[email protected]> | 2015-10-09 13:00:26 +0200 |
| commit | 22da351b1e470074df1ba3f4c872d0b64c6b2046 (patch) | |
| tree | 0e50929c444f2e378ff946afc75f672faf5a3d95 /config.go | |
| parent | 43b39805bd50d7767dc0b489f7532ef473fe419c (diff) | |
| parent | 81e0b16d9fbbfa916b34d0fa38967a14f8796f49 (diff) | |
Merge pull request #258 from TheDahv/feat-config-snapshot
Fix bug in Config LookupString
Diffstat (limited to 'config.go')
| -rw-r--r-- | config.go | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -115,18 +115,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) { |
