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>
This commit is contained in:
Linus Torvalds
2006-07-11 20:45:31 -07:00
committed by Junio C Hamano
parent d3ba675aae
commit 1974632c66
22 changed files with 87 additions and 92 deletions

12
tree.c
View File

@ -131,12 +131,12 @@ struct tree *lookup_tree(const unsigned char *sha1)
if (!obj) {
struct tree *ret = alloc_tree_node();
created_object(sha1, &ret->object);
ret->object.type = TYPE_TREE;
ret->object.type = OBJ_TREE;
return ret;
}
if (!obj->type)
obj->type = TYPE_TREE;
if (obj->type != TYPE_TREE) {
obj->type = OBJ_TREE;
if (obj->type != OBJ_TREE) {
error("Object %s is a %s, not a tree",
sha1_to_hex(sha1), typename(obj->type));
return NULL;
@ -216,11 +216,11 @@ struct tree *parse_tree_indirect(const unsigned char *sha1)
do {
if (!obj)
return NULL;
if (obj->type == TYPE_TREE)
if (obj->type == OBJ_TREE)
return (struct tree *) obj;
else if (obj->type == TYPE_COMMIT)
else if (obj->type == OBJ_COMMIT)
obj = &(((struct commit *) obj)->tree->object);
else if (obj->type == TYPE_TAG)
else if (obj->type == OBJ_TAG)
obj = ((struct tag *) obj)->tagged;
else
return NULL;