diff --git a/object.h b/object.h
index d8a76ea93552e0896d4d0c1dfbf60fa01436e6f5..733faac4ccd1c9a8bb4ed1fc67986b369d9442b3 100644 (file)
--- a/object.h
+++ b/object.h
#define TYPE_BITS 3
#define FLAG_BITS 27
#define TYPE_BITS 3
#define FLAG_BITS 27
-#define TYPE_NONE 0
-#define TYPE_BLOB 1
-#define TYPE_TREE 2
-#define TYPE_COMMIT 3
-#define TYPE_TAG 4
-#define TYPE_BAD 5
+/*
+ * The object type is stored in 3 bits.
+ */
+enum object_type {
+ OBJ_NONE = 0,
+ OBJ_COMMIT = 1,
+ OBJ_TREE = 2,
+ OBJ_BLOB = 3,
+ OBJ_TAG = 4,
+ /* 5/6 for future expansion */
+ OBJ_DELTA = 7,
+ OBJ_BAD,
+};
struct object {
unsigned parsed : 1;
struct object {
unsigned parsed : 1;
};
extern int track_object_refs;
};
extern int track_object_refs;
-extern const char *type_names[];
+extern const char *type_names[9];
extern unsigned int get_max_object_index(void);
extern struct object *get_indexed_object(unsigned int);
static inline const char *typename(unsigned int type)
{
extern unsigned int get_max_object_index(void);
extern struct object *get_indexed_object(unsigned int);
static inline const char *typename(unsigned int type)
{
- return type_names[type > TYPE_TAG ? TYPE_BAD : type];
+ return type_names[type > OBJ_BAD ? OBJ_BAD : type];
}
extern struct object_refs *lookup_object_refs(struct object *);
}
extern struct object_refs *lookup_object_refs(struct object *);
/* Object array handling .. */
void add_object_array(struct object *obj, const char *name, struct object_array *array);
/* Object array handling .. */
void add_object_array(struct object *obj, const char *name, struct object_array *array);
-void clear_object_marks(unsigned);
-
#endif /* OBJECT_H */
#endif /* OBJECT_H */