diff options
| author | Ian Lance Taylor <[email protected]> | 2016-01-07 18:37:46 -0800 |
|---|---|---|
| committer | Ian Lance Taylor <[email protected]> | 2016-01-07 18:37:46 -0800 |
| commit | 42b11d403d91e25754fe60c63c26371fbb7a89a9 (patch) | |
| tree | 8e5a0c18fb97a3d6b4272640d5a6104a73a4f0df /odb.go | |
| parent | 4ee13db86de9321cbea21c04c8608fb8f71735f3 (diff) | |
handles, merge, odb: changes for Go 1.6 pointer passing rules
See http://tip.golang.org/cmd/cgo/#hdr-Passing_pointers .
Diffstat (limited to 'odb.go')
| -rw-r--r-- | odb.go | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -61,12 +61,13 @@ func (v *Odb) Exists(oid *Oid) bool { func (v *Odb) Write(data []byte, otype ObjectType) (oid *Oid, err error) { oid = new(Oid) - hdr := (*reflect.SliceHeader)(unsafe.Pointer(&data)) + cstr := C.CString(string(data)) + defer C.free(unsafe.Pointer(cstr)) runtime.LockOSThread() defer runtime.UnlockOSThread() - ret := C.git_odb_write(oid.toC(), v.ptr, unsafe.Pointer(hdr.Data), C.size_t(hdr.Len), C.git_otype(otype)) + ret := C.git_odb_write(oid.toC(), v.ptr, unsafe.Pointer(cstr), C.size_t(len(data)), C.git_otype(otype)) if ret < 0 { return nil, MakeGitError(ret) |
