mirror of
https://github.com/git/git.git
synced 2024-11-25 02:44:48 +08:00
883550481f
This allows git to be built even with linkers which are not smart enough to join those symbols, and makes this correct C. Pointed out by several people.
33 lines
691 B
C
33 lines
691 B
C
#ifndef OBJECT_H
|
|
#define OBJECT_H
|
|
|
|
struct object_list {
|
|
struct object *item;
|
|
struct object_list *next;
|
|
};
|
|
|
|
struct object {
|
|
unsigned parsed : 1;
|
|
unsigned used : 1;
|
|
unsigned int flags;
|
|
unsigned char sha1[20];
|
|
const char *type;
|
|
struct object_list *refs;
|
|
};
|
|
|
|
extern int nr_objs;
|
|
extern struct object **objs;
|
|
|
|
struct object *lookup_object(unsigned char *sha1);
|
|
|
|
void created_object(unsigned char *sha1, struct object *obj);
|
|
|
|
/** Returns the object, having parsed it to find out what it is. **/
|
|
struct object *parse_object(unsigned char *sha1);
|
|
|
|
void add_ref(struct object *refer, struct object *target);
|
|
|
|
void mark_reachable(struct object *obj, unsigned int mask);
|
|
|
|
#endif /* OBJECT_H */
|