object: allow create_object to handle arbitrary repositories
Reviewed-by: Jonathan Tan <jonathantanmy@google.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Stefan Beller committed
May 8, 2018 at 12:37 UTC
341e45e46bba094ef1274957ef5891f43e91b344
2 files changed
+7
-8
object.c
+6
-6
@@ -139,7 +139,7 @@ static void grow_object_hash(struct repository *r)
139
r->parsed_objects->obj_hash_size = new_hash_size;
140
}
141
142
-void *create_object_the_repository(const unsigned char *sha1, void *o)
142
+void *create_object(struct repository *r, const unsigned char *sha1, void *o)
143
{
144
struct object *obj = o;
145
@@ -147,12 +147,12 @@ void *create_object_the_repository(const unsigned char *sha1, void *o)
147
obj->flags = 0;
148
hashcpy(obj->oid.hash, sha1);
149
150
- if (the_repository->parsed_objects->obj_hash_size - 1 <= the_repository->parsed_objects->nr_objs * 2)
151
- grow_object_hash(the_repository);
150
+ if (r->parsed_objects->obj_hash_size - 1 <= r->parsed_objects->nr_objs * 2)
151
+ grow_object_hash(r);
152
153
- insert_obj_hash(obj, the_repository->parsed_objects->obj_hash,
154
- the_repository->parsed_objects->obj_hash_size);
155
- the_repository->parsed_objects->nr_objs++;
153
+ insert_obj_hash(obj, r->parsed_objects->obj_hash,
154
+ r->parsed_objects->obj_hash_size);
155
+ r->parsed_objects->nr_objs++;
156
return obj;
157
}
158
object.h
+1
-2
@@ -93,8 +93,7 @@ extern struct object *get_indexed_object(unsigned int);
93
*/
94
struct object *lookup_object(const unsigned char *sha1);
95
96
-#define create_object(r, s, o) create_object_##r(s, o)
97
-extern void *create_object_the_repository(const unsigned char *sha1, void *obj);
96
+extern void *create_object(struct repository *r, const unsigned char *sha1, void *obj);
97
98
void *object_as_type(struct object *obj, enum object_type type, int quiet);
99