Browse Source

fix sha1_pack_index_name()

An earlier commit 633f43e (Remove redundant code, eliminate one static
variable, 2008-05-24) had a thinko (perhaps an eyeno) that broke
sha1_pack_index_name() function.  One symptom of this was that the http
walker is now completely broken.

This should fix it.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Junio C Hamano 17 years ago
parent
commit
6eec46bdda
  1. 9
      sha1_file.c

9
sha1_file.c

@ -177,7 +177,7 @@ char *sha1_file_name(const unsigned char *sha1) @@ -177,7 +177,7 @@ char *sha1_file_name(const unsigned char *sha1)
}

static char *sha1_get_pack_name(const unsigned char *sha1,
char **name, char **base)
char **name, char **base, const char *which)
{
static const char hex[] = "0123456789abcdef";
char *buf;
@ -187,7 +187,8 @@ static char *sha1_get_pack_name(const unsigned char *sha1, @@ -187,7 +187,8 @@ static char *sha1_get_pack_name(const unsigned char *sha1,
const char *sha1_file_directory = get_object_directory();
int len = strlen(sha1_file_directory);
*base = xmalloc(len + 60);
sprintf(*base, "%s/pack/pack-1234567890123456789012345678901234567890.pack", sha1_file_directory);
sprintf(*base, "%s/pack/pack-1234567890123456789012345678901234567890.%s",
sha1_file_directory, which);
*name = *base + len + 11;
}

@ -206,14 +207,14 @@ char *sha1_pack_name(const unsigned char *sha1) @@ -206,14 +207,14 @@ char *sha1_pack_name(const unsigned char *sha1)
{
static char *name, *base;

return sha1_get_pack_name(sha1, &name, &base);
return sha1_get_pack_name(sha1, &name, &base, "pack");
}

char *sha1_pack_index_name(const unsigned char *sha1)
{
static char *name, *base;

return sha1_get_pack_name(sha1, &name, &base);
return sha1_get_pack_name(sha1, &name, &base, "idx");
}

struct alternate_object_database *alt_odb_list;

Loading…
Cancel
Save