diff options
author | Junio C Hamano <junkio@cox.net> | 2006-04-26 16:55:25 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-04-26 16:55:25 -0700 |
commit | 5981e09999e90b389a02843671529a0faaf72143 (patch) | |
tree | 0334be8483eb8abe0b1e42664cd11ef16db055c4 /commit-tree.c | |
parent | e23d0b4a4a55cc07e133905f0e9526b3550dd61b (diff) | |
download | git-5981e09999e90b389a02843671529a0faaf72143.tar.gz |
commit-tree.c: check_valid() microoptimization.
There is no point reading the whole object just to make sure it exists and
it is of the expected type. We added sha1_object_info() for such need
after this code was written, so use it.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'commit-tree.c')
-rw-r--r-- | commit-tree.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/commit-tree.c b/commit-tree.c index 2d8651894a..2595850970 100644 --- a/commit-tree.c +++ b/commit-tree.c @@ -45,14 +45,13 @@ static void add_buffer(char **bufp, unsigned int *sizep, const char *fmt, ...) static void check_valid(unsigned char *sha1, const char *expect) { - void *buf; char type[20]; - unsigned long size; - buf = read_sha1_file(sha1, type, &size); - if (!buf || strcmp(type, expect)) - die("%s is not a valid '%s' object", sha1_to_hex(sha1), expect); - free(buf); + if (sha1_object_info(sha1, type, NULL)) + die("%s is not a valid object", sha1_to_hex(sha1)); + if (expect && strcmp(type, expect)) + die("%s is not a valid '%s' object", sha1_to_hex(sha1), + expect); } /* |