summaryrefslogtreecommitdiff
path: root/index-pack.c
diff options
context:
space:
mode:
authorNicolas Pitre <nico@cam.org>2007-02-26 19:55:58 (GMT)
committerJunio C Hamano <junkio@cox.net>2007-02-27 09:34:21 (GMT)
commitdf8436622fb553f468180b61032fe34bd6712752 (patch)
tree8cf6c70ad18d3435face75f0e3dd1e6305d06137 /index-pack.c
parent9ba630318f6fbc2f129e5a6872d70d2914cacb39 (diff)
downloadgit-df8436622fb553f468180b61032fe34bd6712752.zip
git-df8436622fb553f468180b61032fe34bd6712752.tar.gz
git-df8436622fb553f468180b61032fe34bd6712752.tar.bz2
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>
Diffstat (limited to 'index-pack.c')
-rw-r--r--index-pack.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/index-pack.c b/index-pack.c
index fa9a0e7..4b52785 100644
--- a/index-pack.c
+++ b/index-pack.c
@@ -604,13 +604,8 @@ static void fix_unresolved_deltas(int nr_unresolved)
data = read_sha1_file(d->base.sha1, type, &size);
if (!data)
continue;
- if (!strcmp(type, blob_type)) obj_type = OBJ_BLOB;
- else if (!strcmp(type, tree_type)) obj_type = OBJ_TREE;
- else if (!strcmp(type, commit_type)) obj_type = OBJ_COMMIT;
- else if (!strcmp(type, tag_type)) obj_type = OBJ_TAG;
- else die("base object %s is of type '%s'",
- sha1_to_hex(d->base.sha1), type);
+ obj_type = type_from_string(type);
find_delta_children(&d->base, &first, &last);
for (j = first; j <= last; j++) {
struct object_entry *child = objects + deltas[j].obj_no;