Skip to content

Commit

Permalink
commit-tree.c: check_valid() microoptimization.
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Junio C Hamano committed Apr 26, 2006
1 parent e23d0b4 commit 5981e09
Showing 1 changed file with 5 additions and 6 deletions.
11 changes: 5 additions & 6 deletions commit-tree.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

/*
Expand Down

0 comments on commit 5981e09

Please sign in to comment.