Re: [PATCH 02/11] Use new compress helpers in git files
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:44:10
Marco Costalba [off-list ref] writes:
quoted hunk ↗ jump to hunk
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 <redacted> --- 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?