formalize typename(), and add its reverse type_from_string()

Sometime typename() is used, sometimes type_names[] is accessed directly.
Let's enforce typename() all the time which allows for validating the
type.

Also let's add a function to go from a name to a type and use it instead
of manual memcpy() when appropriate.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Nicolas Pitre
2007-02-26 14:55:58 -05:00
committed by Junio C Hamano
parent 9ba630318f
commit df8436622f
7 changed files with 39 additions and 48 deletions

View File

@@ -36,16 +36,12 @@ struct object {
};
extern int track_object_refs;
extern const char *type_names[9];
extern const char *typename(unsigned int type);
extern int type_from_string(const char *str);
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 > OBJ_BAD ? OBJ_BAD : type];
}
extern struct object_refs *lookup_object_refs(struct object *);
/** Internal only **/