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".