Re: [PATCH 13/21] fast-import: simplify allocation in start_packfile

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jeff King <peff@xxxxxxxx> writes:

> This function allocate a packed_git flex-array, and adds a

s/allocate/&s/, right?

> 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@xxxxxxxx>
> ---
>  fast-import.c | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/fast-import.c b/fast-import.c
> index 3053bb8..9fc7093 100644
> --- a/fast-import.c
> +++ b/fast-import.c
> @@ -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);
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]