diff options
author | Linus Torvalds <torvalds@osdl.org> | 2006-07-11 20:45:31 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-07-12 23:18:03 -0700 |
commit | 1974632c664c2d573b36a00fa993c1c13dd8a967 (patch) | |
tree | 435ba8ee055c206c984240fc28a20ef15bc47e4d /object.h | |
parent | d3ba675aae3c6c5722ad15cd9d0f3b7634e976ce (diff) | |
download | git-1974632c664c2d573b36a00fa993c1c13dd8a967.tar.gz |
Remove TYPE_* constant macros and use object_type enums consistently.
This updates the type-enumeration constants introduced to reduce
the memory footprint of "struct object" to match the type bits
already used in the packfile format, by removing the former
(i.e. TYPE_* constant macros) and using the latter (i.e. enum
object_type) throughout the code for consistency.
Eventually we can stop passing around the "type strings"
entirely, and this will help - no confusion about two different
integer enumeration.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'object.h')
-rw-r--r-- | object.h | 23 |
1 files changed, 15 insertions, 8 deletions
@@ -24,12 +24,19 @@ struct object_array { #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; @@ -40,14 +47,14 @@ struct object { }; 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) { - 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 *); |