X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=object.h;h=177b1a4571fb60f75d523124c09c133c2f5c84e6;hb=3a2a1dc17077a27ad1a89db27cb1b4b374f3b0ff;hp=3afd123d735d1d5ac45da096e889d00f0b901161;hpb=bd1a32d5c8ec5987824acb63694361d082ce9092;p=thirdparty%2Fgit.git diff --git a/object.h b/object.h index 3afd123d73..177b1a4571 100644 --- a/object.h +++ b/object.h @@ -1,6 +1,8 @@ #ifndef OBJECT_H #define OBJECT_H +struct buffer_slab; + struct parsed_object_pool { struct object **obj_hash; int nr_objs, obj_hash_size; @@ -22,6 +24,8 @@ struct parsed_object_pool { char *alternate_shallow_file; int commit_graft_prepared; + + struct buffer_slab *buffer_slab; }; struct parsed_object_pool *parsed_object_pool_new(void); @@ -54,7 +58,8 @@ struct object_array { /* * object flag allocation: * revision.h: 0---------10 2526 - * fetch-pack.c: 0----5 + * fetch-pack.c: 01 + * negotiator/default.c: 2--5 * walker.c: 0-2 * upload-pack.c: 4 11----------------19 * builtin/blame.c: 12-13 @@ -109,18 +114,18 @@ extern struct object *get_indexed_object(unsigned int); * half-initialised objects, the caller is expected to initialize them * by calling parse_object() on them. */ -struct object *lookup_object(const unsigned char *sha1); +struct object *lookup_object(struct repository *r, const unsigned char *sha1); extern void *create_object(struct repository *r, const unsigned char *sha1, void *obj); -void *object_as_type(struct object *obj, enum object_type type, int quiet); +void *object_as_type(struct repository *r, struct object *obj, enum object_type type, int quiet); /* * Returns the object, having parsed it to find out what it is. * * Returns NULL if the object is missing or corrupt. */ -struct object *parse_object(const struct object_id *oid); +struct object *parse_object(struct repository *r, const struct object_id *oid); /* * Like parse_object, but will die() instead of returning NULL. If the @@ -133,7 +138,7 @@ struct object *parse_object_or_die(const struct object_id *oid, const char *name * parsing it. eaten_p indicates if the object has a borrowed copy * of buffer and the caller should not free() it. */ -struct object *parse_object_buffer(const struct object_id *oid, enum object_type type, unsigned long size, void *buffer, int *eaten_p); +struct object *parse_object_buffer(struct repository *r, const struct object_id *oid, enum object_type type, unsigned long size, void *buffer, int *eaten_p); /** Returns the object, with potentially excess memory allocated. **/ struct object *lookup_unknown_object(const unsigned char *sha1);