summaryrefslogtreecommitdiff
path: root/repository.go
diff options
context:
space:
mode:
Diffstat (limited to 'repository.go')
-rw-r--r--repository.go16
1 files changed, 9 insertions, 7 deletions
diff --git a/repository.go b/repository.go
index 755926e..bfbfebd 100644
--- a/repository.go
+++ b/repository.go
@@ -27,7 +27,7 @@ func Open(path string) (*Repository, error) {
return nil, LastError()
}
- runtime.SetFinalizer(repo, freeRepository)
+ runtime.SetFinalizer(repo, (*Repository).Free)
return repo, nil
}
@@ -42,12 +42,13 @@ func Init(path string, isbare bool) (*Repository, error) {
return nil, LastError()
}
- runtime.SetFinalizer(repo, freeRepository)
+ runtime.SetFinalizer(repo, (*Repository).Free)
return repo, nil
}
-func freeRepository(repo *Repository) {
- C.git_repository_free(repo.ptr)
+func (v *Repository) Free() {
+ runtime.SetFinalizer(v, nil)
+ C.git_repository_free(v.ptr)
}
func (v *Repository) Config() (*Config, error) {
@@ -127,8 +128,9 @@ func (v *Repository) Commit(
}
*/
-func freeOdb(odb *Odb) {
- C.git_odb_free(odb.ptr)
+func (v *Odb) Free() {
+ runtime.SetFinalizer(v, nil)
+ C.git_odb_free(v.ptr)
}
func (v *Repository) Odb() (odb *Odb, err error) {
@@ -137,7 +139,7 @@ func (v *Repository) Odb() (odb *Odb, err error) {
return nil, LastError()
}
- runtime.SetFinalizer(odb, freeOdb)
+ runtime.SetFinalizer(odb, (*Odb).Free)
return
}