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: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
f0de1d62ae
commit
cf7203bdc6
2
alloc.c
2
alloc.c
@ -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;
|
||||||
|
3
cache.h
3
cache.h
@ -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);
|
||||||
|
2
tree.c
2
tree.c
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user