From b0b8313583afdcd54a83ba3855cf3f6f287ae0ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= Date: Tue, 22 Mar 2011 16:15:50 +0100 Subject: [PATCH] Add close wappers for commit, tree, tag and blob MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In the same spirit that git_repository_lookup is no longer available, add wrappers so the users don't have to cast when closing their objects. Signed-off-by: Carlos Martín Nieto --- include/git2/blob.h | 18 ++++++++++++++++++ include/git2/commit.h | 17 +++++++++++++++++ include/git2/tag.h | 18 ++++++++++++++++++ include/git2/tree.h | 18 ++++++++++++++++++ 4 files changed, 71 insertions(+) diff --git a/include/git2/blob.h b/include/git2/blob.h index 3cd1467bf..c38a52f65 100644 --- a/include/git2/blob.h +++ b/include/git2/blob.h @@ -52,6 +52,24 @@ GIT_INLINE(int) git_blob_lookup(git_blob **blob, git_repository *repo, const git return git_object_lookup((git_object **)blob, repo, id, GIT_OBJ_BLOB); } +/** + * Close an open blob + * + * This is a wrapper around git_object_close() + * + * IMPORTANT: + * It *is* necessary to call this method when you stop + * using a blob. Failure to do so will cause a memory leak. + * + * @param blob the blob to close + */ + +GIT_INLINE(void) git_blob_close(git_blob *blob) +{ + return git_object_close((git_object *) blob); +} + + /** * Get a read-only buffer with the raw content of a blob. * diff --git a/include/git2/commit.h b/include/git2/commit.h index 8306eb152..d497324c6 100644 --- a/include/git2/commit.h +++ b/include/git2/commit.h @@ -53,6 +53,23 @@ GIT_INLINE(int) git_commit_lookup(git_commit **commit, git_repository *repo, con return git_object_lookup((git_object **)commit, repo, id, GIT_OBJ_COMMIT); } +/** + * Close an open commit + * + * This is a wrapper around git_object_close() + * + * IMPORTANT: + * It *is* necessary to call this method when you stop + * using a commit. Failure to do so will cause a memory leak. + * + * @param commit the commit to close + */ + +GIT_INLINE(void) git_commit_close(git_commit *commit) +{ + return git_object_close((git_object *) commit); +} + /** * Get the id of a commit. * diff --git a/include/git2/tag.h b/include/git2/tag.h index c343f6bf4..845b20516 100644 --- a/include/git2/tag.h +++ b/include/git2/tag.h @@ -52,6 +52,24 @@ GIT_INLINE(int) git_tag_lookup(git_tag **tag, git_repository *repo, const git_oi return git_object_lookup((git_object **)tag, repo, id, (git_otype)GIT_OBJ_TAG); } +/** + * Close an open tag + * + * This is a wrapper around git_object_close() + * + * IMPORTANT: + * It *is* necessary to call this method when you stop + * using a tag. Failure to do so will cause a memory leak. + * + * @param tag the tag to close + */ + +GIT_INLINE(void) git_tag_close(git_tag *tag) +{ + return git_object_close((git_object *) tag); +} + + /** * Get the id of a tag. * diff --git a/include/git2/tree.h b/include/git2/tree.h index ec2b51646..cb959a790 100644 --- a/include/git2/tree.h +++ b/include/git2/tree.h @@ -52,6 +52,24 @@ GIT_INLINE(int) git_tree_lookup(git_tree **tree, git_repository *repo, const git return git_object_lookup((git_object **)tree, repo, id, GIT_OBJ_TREE); } +/** + * Close an open tree + * + * This is a wrapper around git_object_close() + * + * IMPORTANT: + * It *is* necessary to call this method when you stop + * using a tree. Failure to do so will cause a memory leak. + * + * @param tree the tree to close + */ + +GIT_INLINE(void) git_tree_close(git_tree *tree) +{ + return git_object_close((git_object *) tree); +} + + /** * Get the id of a tree. *