fast-import: simplify allocation in start_packfile
This function allocate a packed_git flex-array, and adds a
mysterious 2 bytes to the length of the pack_name field. One
is for the trailing NUL, but the other has no purpose. This
is probably cargo-culted from add_packed_git, which gets the
".idx" path and needed to allocate enough space to hold the
matching ".pack" (though since 48bcc1c
, we calculate the
size there differently).
This site, however, is using the raw path of a tempfile, and
does not need the extra byte. We can just replace the
allocation with FLEX_ALLOC_STR, which handles the allocation
and the NUL for us.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
e0b8373510
commit
a78c188a32
@ -865,15 +865,12 @@ static void start_packfile(void)
|
||||
{
|
||||
static char tmp_file[PATH_MAX];
|
||||
struct packed_git *p;
|
||||
int namelen;
|
||||
struct pack_header hdr;
|
||||
int pack_fd;
|
||||
|
||||
pack_fd = odb_mkstemp(tmp_file, sizeof(tmp_file),
|
||||
"pack/tmp_pack_XXXXXX");
|
||||
namelen = strlen(tmp_file) + 2;
|
||||
p = xcalloc(1, sizeof(*p) + namelen);
|
||||
xsnprintf(p->pack_name, namelen, "%s", tmp_file);
|
||||
FLEX_ALLOC_STR(p, pack_name, tmp_file);
|
||||
p->pack_fd = pack_fd;
|
||||
p->do_not_close = 1;
|
||||
pack_file = sha1fd(pack_fd, p->pack_name);
|
||||
|
Loading…
Reference in New Issue
Block a user