diff options
| author | Nicolas Pitre <nico@cam.org> | 2007-02-26 14:55:59 -0500 | 
|---|---|---|
| committer | Junio C Hamano <junkio@cox.net> | 2007-02-27 01:34:21 -0800 | 
| commit | 21666f1aae4e890d8f50924f9e80763b27e6a45d (patch) | |
| tree | 462de5be3e949924f58858e08e24355f613191ab /commit.c | |
| parent | df8436622fb553f468180b61032fe34bd6712752 (diff) | |
| download | git-21666f1aae4e890d8f50924f9e80763b27e6a45d.tar.gz | |
convert object type handling from a string to a number
We currently have two parallel notation for dealing with object types
in the code: a string and a numerical value.  One of them is obviously
redundent, and the most used one requires more stack space and a bunch
of strcmp() all over the place.
This is an initial step for the removal of the version using a char array
found in object reading code paths.  The patch is unfortunately large but
there is no sane way to split it in smaller parts without breaking the
system.
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'commit.c')
| -rw-r--r-- | commit.c | 6 | 
1 files changed, 3 insertions, 3 deletions
| @@ -342,18 +342,18 @@ int parse_commit_buffer(struct commit *item, void *buffer, unsigned long size)  int parse_commit(struct commit *item)  { -	char type[20]; +	enum object_type type;  	void *buffer;  	unsigned long size;  	int ret;  	if (item->object.parsed)  		return 0; -	buffer = read_sha1_file(item->object.sha1, type, &size); +	buffer = read_sha1_file(item->object.sha1, &type, &size);  	if (!buffer)  		return error("Could not read %s",  			     sha1_to_hex(item->object.sha1)); -	if (strcmp(type, commit_type)) { +	if (type != OBJ_COMMIT) {  		free(buffer);  		return error("Object %s not a commit",  			     sha1_to_hex(item->object.sha1)); | 
