Browse Source

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>
maint
Junio C Hamano 19 years ago
parent
commit
5981e09999
  1. 11
      commit-tree.c

11
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) 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…
Cancel
Save