func (v *Odb) ForEach(callback OdbForEachCallback) error { data := foreachData{ callback: callback, err: nil, } ret := C._go_git_odb_foreach(v.ptr, unsafe.Pointer(&data)) if ret == C.GIT_EUSER { return data.err } else if ret < 0 { return MakeGitError(ret) } return nil }
func (v *Odb) ForEach(callback OdbForEachCallback) error { data := foreachData{ callback: callback, err: nil, } runtime.LockOSThread() defer runtime.UnlockOSThread() handle := pointerHandles.Track(&data) defer pointerHandles.Untrack(handle) ret := C._go_git_odb_foreach(v.ptr, handle) if ret == C.GIT_EUSER { return data.err } else if ret < 0 { return MakeGitError(ret) } return nil }
func (v *Odb) forEachWrap(ch chan *Oid) { C._go_git_odb_foreach(v.ptr, unsafe.Pointer(&ch)) close(ch) }