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>
This commit is contained in:
parent
e23d0b4a4a
commit
5981e09999
@ -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)
|
static void check_valid(unsigned char *sha1, const char *expect)
|
||||||
{
|
{
|
||||||
void *buf;
|
|
||||||
char type[20];
|
char type[20];
|
||||||
unsigned long size;
|
|
||||||
|
|
||||||
buf = read_sha1_file(sha1, type, &size);
|
if (sha1_object_info(sha1, type, NULL))
|
||||||
if (!buf || strcmp(type, expect))
|
die("%s is not a valid object", sha1_to_hex(sha1));
|
||||||
die("%s is not a valid '%s' object", sha1_to_hex(sha1), expect);
|
if (expect && strcmp(type, expect))
|
||||||
free(buf);
|
die("%s is not a valid '%s' object", sha1_to_hex(sha1),
|
||||||
|
expect);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user