summaryrefslogtreecommitdiff
path: root/deprecated.go
diff options
context:
space:
mode:
Diffstat (limited to 'deprecated.go')
-rw-r--r--deprecated.go16
1 files changed, 12 insertions, 4 deletions
diff --git a/deprecated.go b/deprecated.go
index 587fd0e..5e69a51 100644
--- a/deprecated.go
+++ b/deprecated.go
@@ -230,7 +230,11 @@ func SubmoduleVisitor(csub unsafe.Pointer, name *C.char, handle unsafe.Pointer)
if !ok {
panic("invalid submodule visitor callback")
}
- return (C.int)(callback(sub, C.GoString(name)))
+ err := callback(sub, C.GoString(name))
+ if err != nil {
+ return C.int(ErrorCodeUser)
+ }
+ return C.int(ErrorCodeOK)
}
// tree.go
@@ -239,9 +243,13 @@ func SubmoduleVisitor(csub unsafe.Pointer, name *C.char, handle unsafe.Pointer)
func CallbackGitTreeWalk(_root *C.char, entry *C.git_tree_entry, ptr unsafe.Pointer) C.int {
root := C.GoString(_root)
- if callback, ok := pointerHandles.Get(ptr).(TreeWalkCallback); ok {
- return C.int(callback(root, newTreeEntry(entry)))
- } else {
+ callback, ok := pointerHandles.Get(ptr).(TreeWalkCallback)
+ if !ok {
panic("invalid treewalk callback")
}
+ err := callback(root, newTreeEntry(entry))
+ if err != nil {
+ return C.int(ErrorCodeUser)
+ }
+ return C.int(ErrorCodeOK)
}