From: Junio C Hamano Date: Wed, 26 Apr 2006 23:55:25 +0000 (-0700) Subject: commit-tree.c: check_valid() microoptimization. X-Git-Tag: v1.3.2~15 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=5981e09999e90b389a02843671529a0faaf72143;p=git.git 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 --- diff --git a/commit-tree.c b/commit-tree.c index 2d865189..25958509 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); } /*