sha1_file.c: make pack-name helper globally accessible
We provide sha1_pack_name() and sha1_pack_index_name(), but the more generic form (which takes its own strbuf and an arbitrary extension) is only used to implement the other two. Let's make it available, but clean up a few things: 1. Name it odb_pack_name(), as the original sha1_get_pack_name() is long but not all that descriptive. 2. Switch the strbuf argument to the beginning, so that it matches similar path-building functions like git_path_buf(). 3. Clean up the out-dated docstring and move it to the public declaration. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
82c9d6614b
commit
1cec8c634f
17
sha1_file.c
17
sha1_file.c
@ -203,31 +203,26 @@ static const char *alt_sha1_path(struct alternate_object_database *alt,
|
||||
return buf->buf;
|
||||
}
|
||||
|
||||
/*
|
||||
* Return the name of the pack or index file with the specified sha1
|
||||
* in its filename. *base and *name are scratch space that must be
|
||||
* provided by the caller. which should be "pack" or "idx".
|
||||
*/
|
||||
static char *sha1_get_pack_name(const unsigned char *sha1,
|
||||
struct strbuf *buf,
|
||||
const char *which)
|
||||
char *odb_pack_name(struct strbuf *buf,
|
||||
const unsigned char *sha1,
|
||||
const char *ext)
|
||||
{
|
||||
strbuf_reset(buf);
|
||||
strbuf_addf(buf, "%s/pack/pack-%s.%s", get_object_directory(),
|
||||
sha1_to_hex(sha1), which);
|
||||
sha1_to_hex(sha1), ext);
|
||||
return buf->buf;
|
||||
}
|
||||
|
||||
char *sha1_pack_name(const unsigned char *sha1)
|
||||
{
|
||||
static struct strbuf buf = STRBUF_INIT;
|
||||
return sha1_get_pack_name(sha1, &buf, "pack");
|
||||
return odb_pack_name(&buf, sha1, "pack");
|
||||
}
|
||||
|
||||
char *sha1_pack_index_name(const unsigned char *sha1)
|
||||
{
|
||||
static struct strbuf buf = STRBUF_INIT;
|
||||
return sha1_get_pack_name(sha1, &buf, "idx");
|
||||
return odb_pack_name(&buf, sha1, "idx");
|
||||
}
|
||||
|
||||
struct alternate_object_database *alt_odb_list;
|
||||
|
Reference in New Issue
Block a user