alloc: add repository argument to alloc_blob_node
authorStefan Beller <sbeller@google.com>
Tue, 8 May 2018 19:37:27 +0000 (12:37 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 9 May 2018 03:12:36 +0000 (12:12 +0900)
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>
alloc.c
blob.c
cache.h
diff --git a/alloc.c b/alloc.c
index 12afadfacdd6094912a6e18a217a9aa6318b47b2..6c5c376a25a7f12c7ffa5745510c8ec84f0f53b0 100644 (file)
--- a/alloc.c
+++ b/alloc.c
@@ -49,7 +49,7 @@ static inline void *alloc_node(struct alloc_state *s, size_t node_size)
 }
 
 static struct alloc_state blob_state;
-void *alloc_blob_node(void)
+void *alloc_blob_node_the_repository(void)
 {
        struct blob *b = alloc_node(&blob_state, sizeof(struct blob));
        b->object.type = OBJ_BLOB;
diff --git a/blob.c b/blob.c
index 85c2143f29956a6fbf72bbe24924985ea6c81aa6..9e64f301895e41fd457533245bcada66fea63668 100644 (file)
--- a/blob.c
+++ b/blob.c
@@ -9,7 +9,7 @@ struct blob *lookup_blob(const struct object_id *oid)
        struct object *obj = lookup_object(oid->hash);
        if (!obj)
                return create_object(the_repository, oid->hash,
-                                    alloc_blob_node());
+                                    alloc_blob_node(the_repository));
        return object_as_type(obj, OBJ_BLOB, 0);
 }
 
diff --git a/cache.h b/cache.h
index 3a4d80e92bf739788294346198d1b52dfc01f0e5..2258e61127531bdf0150ed32cd46768a7e9f4967 100644 (file)
--- a/cache.h
+++ b/cache.h
@@ -1764,7 +1764,8 @@ int decode_85(char *dst, const char *line, int linelen);
 void encode_85(char *buf, const unsigned char *data, int bytes);
 
 /* alloc.c */
-extern void *alloc_blob_node(void);
+#define alloc_blob_node(r) alloc_blob_node_##r()
+extern void *alloc_blob_node_the_repository(void);
 extern void *alloc_tree_node(void);
 extern void *alloc_commit_node(void);
 extern void *alloc_tag_node(void);