diff options
author | Edward Thomson <ethomson@edwardthomson.com> | 2013-04-04 20:38:17 +0400 |
---|---|---|
committer | Edward Thomson <ethomson@edwardthomson.com> | 2013-04-12 20:21:47 +0400 |
commit | 7ebc249c2225c1a9290b0981fcc7f37490b5b80c (patch) | |
tree | b9c63f5f3b2f157846216f883e7c6aab146f2c00 /src/refdb.c | |
parent | ea8bac37b0c3a302b8f740cbeb4af50d0626815b (diff) |
dec refcount on refdb instead of always freeing
Diffstat (limited to 'src/refdb.c')
-rw-r--r-- | src/refdb.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/refdb.c b/src/refdb.c index 0d2064343..d9b73c6e7 100644 --- a/src/refdb.c +++ b/src/refdb.c @@ -82,7 +82,7 @@ int git_refdb_compress(git_refdb *db) return 0; } -void git_refdb_free(git_refdb *db) +static void refdb_free(git_refdb *db) { if (db->backend) { if(db->backend->free) @@ -94,6 +94,14 @@ void git_refdb_free(git_refdb *db) git__free(db); } +void git_refdb_free(git_refdb *db) +{ + if (db == NULL) + return; + + GIT_REFCOUNT_DEC(db, refdb_free); +} + int git_refdb_exists(int *exists, git_refdb *refdb, const char *ref_name) { assert(exists && refdb && refdb->backend); |