Re: [PATCH 02/11] Use new compress helpers in git files
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 3, 2008, 22:54 UTC
- Message-ID
- <7vr6ftr6qu.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <1201952156-6764-2-git-send-email-mcostalba@gmail.com>
Marco Costalba <mcostalba@gmail.com> writes:
Show 41 quoted lines
> These are the 'easy' ones, where a signgle step
> compression is requested so that we can use only
> one call to compress_all()
>
> Signed-off-by: Marco Costalba <mcostalba@gmail.com>
> ---
> archive-zip.c | 28 +++-------------------------
> builtin-pack-objects.c | 19 +++----------------
> diff.c | 22 +++++-----------------
> index-pack.c | 20 +++-----------------
> 4 files changed, 14 insertions(+), 75 deletions(-)
>
> diff --git a/archive-zip.c b/archive-zip.c
> index 74e30f6..9071b86 100644
> --- a/archive-zip.c
> +++ b/archive-zip.c
> @@ -3,6 +3,7 @@
> */
> #include "cache.h"
> #include "commit.h"
> +#include "compress.h"
> #include "blob.h"
> #include "tree.h"
> #include "quote.h"
> @@ -97,33 +98,10 @@ static void copy_le32(unsigned char *dest, unsigned int n)
> static void *zlib_deflate(void *data, unsigned long size,
> unsigned long *compressed_size)
> {
> ...
> - if (result != Z_STREAM_END) {
> - free(buffer);
> - return NULL;
> - }
>
> - deflateEnd(&stream);
> - *compressed_size = stream.total_out;
> + unsigned char *buffer = NULL;
>
> + *compressed_size = compress_all(zlib_compression_level, data, size, &buffer);
> return buffer;
> }This used to leave *compressed_size untouched upon deflate failure but now it sets it to zero. Is this change in behaviour safe?