diff options
| author | Russell Belfer <rb@github.com> | 2013-04-21 12:52:17 -0700 |
|---|---|---|
| committer | Russell Belfer <rb@github.com> | 2013-04-21 12:52:17 -0700 |
| commit | 21ca045100337bcb2905a20a72d42721d18871f9 (patch) | |
| tree | 1db8654b2f7e2dd961d2f7fb3c9ea98c3d57cb61 /src/refdb.c | |
| parent | 4dcd87801972e1b880afa9cd0998842bae7af5b5 (diff) | |
| download | libgit2-21ca045100337bcb2905a20a72d42721d18871f9.tar.gz | |
Move git_reference__alloc to include/git2/sys
Create a new include/git2/sys/refs.h and move the reference alloc
functions there. Also fix some documentation issues and some
minor code cleanups.
Diffstat (limited to 'src/refdb.c')
| -rw-r--r-- | src/refdb.c | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/src/refdb.c b/src/refdb.c index 0675be638..33a1934d1 100644 --- a/src/refdb.c +++ b/src/refdb.c @@ -58,15 +58,19 @@ int git_refdb_open(git_refdb **out, git_repository *repo) return 0; } -int git_refdb_set_backend(git_refdb *db, git_refdb_backend *backend) +static void refdb_free_backend(git_refdb *db) { if (db->backend) { - if(db->backend->free) + if (db->backend->free) db->backend->free(db->backend); else git__free(db->backend); } +} +int git_refdb_set_backend(git_refdb *db, git_refdb_backend *backend) +{ + refdb_free_backend(db); db->backend = backend; return 0; @@ -76,22 +80,15 @@ int git_refdb_compress(git_refdb *db) { assert(db); - if (db->backend->compress) { + if (db->backend->compress) return db->backend->compress(db->backend); - } return 0; } static void refdb_free(git_refdb *db) { - if (db->backend) { - if(db->backend->free) - db->backend->free(db->backend); - else - git__free(db->backend); - } - + refdb_free_backend(db); git__free(db); } @@ -115,14 +112,13 @@ int git_refdb_lookup(git_reference **out, git_refdb *db, const char *ref_name) git_reference *ref; int error; - assert(db && db->backend && ref_name); - - *out = NULL; + assert(db && db->backend && out && ref_name); - if ((error = db->backend->lookup(&ref, db->backend, ref_name)) == 0) - { + if (!(error = db->backend->lookup(&ref, db->backend, ref_name))) { ref->db = db; *out = ref; + } else { + *out = NULL; } return error; |
