Re: [PATCH 5/8] get-repack --max-pack-size: write_object() takes 'limit' arg

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

 



On Sun, 8 Apr 2007, Dana How wrote:

> 
> Accept new 'limit' argument and check against it
> before each group of writes.  Update delta usability rules
> for possibility of delta base being in a previously-
> written pack. Inline sha1write_compressed() so we know
> the exact size of the written data when it needs to be compressed.

It would be cleaner if the compression code was made into a function of 
its own I think.

> @@ -448,6 +480,12 @@ static off_t write_object(struct sha1file *f,
>  			header[pos] = ofs & 127;
>  			while (ofs >>= 7)
>  				header[--pos] = 128 | (--ofs & 127);
> +			if ( limit && hdrlen + sizeof(header) - pos + datalen + 20 >= limit ) {
> +				free(out);
> +				free(buf);
> +				return 0;
> +			}
> +			sha1write(f, header, hdrlen);
>  			sha1write(f, header + pos, sizeof(header) - pos);

The above looks rather buggy to me.


Nicolas
-
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]