git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 10/11] Convert builtin-pack/unpack

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 4, 2008, 02:08 UTC
Message-ID
<7vodaxmq2l.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<1201952156-6764-10-git-send-email-mcostalba@gmail.com>
Marco Costalba <mcostalba@gmail.com> writes:
Show 17 quoted lines
> diff --git a/builtin-unpack-objects.c b/builtin-unpack-objects.c
> index 1e51865..c996560 100644
> --- a/builtin-unpack-objects.c
> +++ b/builtin-unpack-objects.c
> @@ -1,5 +1,6 @@
>  #include "builtin.h"
>  #include "cache.h"
> +#include "compress.h"
>  #include "object.h"
>  #include "delta.h"
>  #include "pack.h"
> @@ -61,23 +62,20 @@ static void use(int bytes)
>  static void *get_data(unsigned long size)
>  {
>  	z_stream stream;
> -	void *buf = xmalloc(size);
> +	unsigned char *buf = xmalloc(size);;

Why? Your other changes (e.g. unpack_entry_data()::index-pack.c in [08/11]) left the type of buf as it was, and I think the same should be done here.

Show 15 quoted lines
> -	memset(&stream, 0, sizeof(stream));
> -
> -	stream.next_out = buf;
> -	stream.avail_out = size;
> -	stream.next_in = fill(1);
> -	stream.avail_in = len;
> -	inflateInit(&stream);
> +	decompress_alloc(&stream);
> +	decompress_into(&stream, buf, size);
>  
>  	for (;;) {
> -		int ret = inflate(&stream, 0);
> +		/* fill() modifies len, so be sure is evaluated as first */
> +		void* tmp = fill(1);
> +		int ret = decompress_next_from(&stream, tmp, len, Z_NO_FLUSH);
(Style) that's "void *tmp".
Previous: Marco CostalbaNext: Junio C Hamano
Message 12 of 21 in “Introduce stream compress helpers”
  1. 01/11 Introduce stream compress helpersMarco Costalba, Feb 2, 2008
  2. 02/11 Use new compress helpers in git filesMarco Costalba, Feb 2, 2008
  3. 03/11 Use new compress helpers in fast-importMarco Costalba, Feb 2, 2008
  4. 04/11 Use new compress helpers in http-push.cMarco Costalba, Feb 2, 2008
  5. 05/11 Use new compress helpers in sha1_file.cMarco Costalba, Feb 2, 2008
  6. 06/11 Better error handling in compress_all()Marco Costalba, Feb 2, 2008
  7. 07/11 Introduce stream decompress helpersMarco Costalba, Feb 2, 2008
  8. 08/11 Use new decompress_all() helper in gitMarco Costalba, Feb 2, 2008
  9. 09/11 Convert http-push.c and http-walker.cMarco Costalba, Feb 2, 2008
  10. 10/11 Convert builtin-pack/unpackMarco Costalba, Feb 2, 2008
  11. 11/11 Convert sha1_file.c to use decompress helpersMarco Costalba, Feb 2, 2008
  12. Junio C HamanoFeb 4, 2008
  13. Junio C HamanoFeb 4, 2008
  14. Junio C HamanoFeb 4, 2008
  15. Junio C HamanoFeb 3, 2008
  16. Junio C HamanoFeb 3, 2008
  17. Junio C HamanoFeb 3, 2008
  18. Shawn O. PearceFeb 4, 2008
  19. Shawn O. PearceFeb 4, 2008
  20. Junio C HamanoFeb 3, 2008
  21. Junio C HamanoFeb 3, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.