From b829eb1edb54ffde40b13d5131e81fdb51faf0f9 Mon Sep 17 00:00:00 2001 From: Mark Karpeles Date: Fri, 30 Sep 2016 23:00:20 +0900 Subject: [PATCH] odb & refdb: make New*BackendFromC take unsafe.Pointer as argument allowing argument to be set from different package --- odb.go | 4 ++-- refdb.go | 5 +++-- 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 } -- 2.45.2