summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Karpeles <[email protected]>2016-09-30 23:00:20 +0900
committerMark Karpeles <[email protected]>2016-09-30 23:00:20 +0900
commitb829eb1edb54ffde40b13d5131e81fdb51faf0f9 (patch)
tree4a47ff115a37a12e4f8022a9b8330bd506005706
parent241aa34d83b210ceaab7029c46e05794f2ea9797 (diff)
odb & refdb: make New*BackendFromC take unsafe.Pointer as argument allowing argument to be set from different package
-rw-r--r--odb.go4
-rw-r--r--refdb.go5
2 files changed, 5 insertions, 4 deletions
diff --git a/odb.go b/odb.go
index 9c6baa3..9ba2ea2 100644
--- a/odb.go
+++ b/odb.go
@@ -36,8 +36,8 @@ func NewOdb() (odb *Odb, err error) {
return odb, nil
}
-func NewOdbBackendFromC(ptr *C.git_odb_backend) (backend *OdbBackend) {
- backend = &OdbBackend{ptr}
+func NewOdbBackendFromC(ptr unsafe.Pointer) (backend *OdbBackend) {
+ backend = &OdbBackend{(*C.git_odb_backend)(ptr)}
return backend
}
diff --git a/refdb.go b/refdb.go
index 0d1e241..4e3ebf9 100644
--- a/refdb.go
+++ b/refdb.go
@@ -9,6 +9,7 @@ extern void _go_git_refdb_backend_free(git_refdb_backend *backend);
import "C"
import (
"runtime"
+ "unsafe"
)
type Refdb struct {
@@ -34,8 +35,8 @@ func (v *Repository) NewRefdb() (refdb *Refdb, err error) {
return refdb, nil
}
-func NewRefdbBackendFromC(ptr *C.git_refdb_backend) (backend *RefdbBackend) {
- backend = &RefdbBackend{ptr}
+func NewRefdbBackendFromC(ptr unsafe.Pointer) (backend *RefdbBackend) {
+ backend = &RefdbBackend{(*C.git_refdb_backend)(ptr)}
return backend
}