提交 cf7203bd 编写于 作者: S Stefan Beller 提交者: Junio C Hamano

alloc: add repository argument to alloc_tree_node

This is a small mechanical change; it doesn't change the
implementation to handle repositories other than the_repository yet.
Use a macro to catch callers passing a repository other than
the_repository at compile time.
Signed-off-by: NStefan Beller <sbeller@google.com>
Signed-off-by: NJunio C Hamano <gitster@pobox.com>
上级 f0de1d62
...@@ -57,7 +57,7 @@ void *alloc_blob_node_the_repository(void) ...@@ -57,7 +57,7 @@ void *alloc_blob_node_the_repository(void)
} }
static struct alloc_state tree_state; static struct alloc_state tree_state;
void *alloc_tree_node(void) void *alloc_tree_node_the_repository(void)
{ {
struct tree *t = alloc_node(&tree_state, sizeof(struct tree)); struct tree *t = alloc_node(&tree_state, sizeof(struct tree));
t->object.type = OBJ_TREE; t->object.type = OBJ_TREE;
......
...@@ -1766,7 +1766,8 @@ void encode_85(char *buf, const unsigned char *data, int bytes); ...@@ -1766,7 +1766,8 @@ void encode_85(char *buf, const unsigned char *data, int bytes);
/* alloc.c */ /* alloc.c */
#define alloc_blob_node(r) alloc_blob_node_##r() #define alloc_blob_node(r) alloc_blob_node_##r()
extern void *alloc_blob_node_the_repository(void); extern void *alloc_blob_node_the_repository(void);
extern void *alloc_tree_node(void); #define alloc_tree_node(r) alloc_tree_node_##r()
extern void *alloc_tree_node_the_repository(void);
extern void *alloc_commit_node(void); extern void *alloc_commit_node(void);
extern void *alloc_tag_node(void); extern void *alloc_tag_node(void);
extern void *alloc_object_node(void); extern void *alloc_object_node(void);
......
...@@ -197,7 +197,7 @@ struct tree *lookup_tree(const struct object_id *oid) ...@@ -197,7 +197,7 @@ struct tree *lookup_tree(const struct object_id *oid)
struct object *obj = lookup_object(oid->hash); struct object *obj = lookup_object(oid->hash);
if (!obj) if (!obj)
return create_object(the_repository, oid->hash, return create_object(the_repository, oid->hash,
alloc_tree_node()); alloc_tree_node(the_repository));
return object_as_type(obj, OBJ_TREE, 0); return object_as_type(obj, OBJ_TREE, 0);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册