diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/blob.c | 2 | ||||
-rw-r--r-- | src/object.h | 12 | ||||
-rw-r--r-- | src/tag.c | 7 | ||||
-rw-r--r-- | src/tree.c | 12 |
4 files changed, 18 insertions, 15 deletions
diff --git a/src/blob.c b/src/blob.c index a68c4cc3e..d656576b8 100644 --- a/src/blob.c +++ b/src/blob.c @@ -15,6 +15,8 @@ #include "filter.h" #include "buf_text.h" +GIT_OBJ_WRAPPER(git_blob, GIT_OBJ_BLOB) + const void *git_blob_rawcontent(const git_blob *blob) { assert(blob); diff --git a/src/object.h b/src/object.h index d187c55b7..906d40736 100644 --- a/src/object.h +++ b/src/object.h @@ -28,4 +28,16 @@ int git_oid__parse(git_oid *oid, const char **buffer_out, const char *buffer_end void git_oid__writebuf(git_buf *buf, const char *header, const git_oid *oid); +#define GIT_OBJ_WRAPPER(TYPE,OBJTYPE) \ + int TYPE##_lookup(TYPE **out, git_repository *repo, const git_oid *id) { \ + return git_object_lookup((git_object **)out, repo, id, OBJTYPE); } \ + int TYPE##_lookup_prefix(TYPE **out, git_repository *repo, const git_oid *id, size_t len) { \ + return git_object_lookup_prefix((git_object **)out, repo, id, len, OBJTYPE); } \ + void TYPE##_free(TYPE *obj) { \ + git_object_free((git_object *)obj); } \ + const git_oid *TYPE##_id(const TYPE *obj) { \ + return git_object_id((const git_object *)obj); } \ + git_repository *TYPE##_owner(const TYPE *obj) { \ + return git_object_owner((const git_object *)obj); } + #endif @@ -15,6 +15,8 @@ #include "git2/signature.h" #include "git2/odb_backend.h" +GIT_OBJ_WRAPPER(git_tag, GIT_OBJ_TAG) + void git_tag__free(void *_tag) { git_tag *tag = _tag; @@ -24,11 +26,6 @@ void git_tag__free(void *_tag) git__free(tag); } -const git_oid *git_tag_id(const git_tag *c) -{ - return git_object_id((const git_object *)c); -} - int git_tag_target(git_object **target, const git_tag *t) { assert(t); diff --git a/src/tree.c b/src/tree.c index 58eb92f35..67c9a068d 100644 --- a/src/tree.c +++ b/src/tree.c @@ -11,6 +11,8 @@ #include "git2/repository.h" #include "git2/object.h" +GIT_OBJ_WRAPPER(git_tree, GIT_OBJ_TREE) + #define DEFAULT_TREE_SIZE 16 #define MAX_FILEMODE_BYTES 6 @@ -232,16 +234,6 @@ void git_tree__free(void *_tree) git__free(tree); } -const git_oid *git_tree_id(const git_tree *t) -{ - return git_object_id((const git_object *)t); -} - -git_repository *git_tree_owner(const git_tree *t) -{ - return git_object_owner((const git_object *)t); -} - git_filemode_t git_tree_entry_filemode(const git_tree_entry *entry) { return (git_filemode_t)entry->attr; |