A multistep compress is required here, so we need the full arsenal of compress helpers. Signed-off-by: Marco Costalba <mcostalba@gmail.com> --- http-push.c | 22 ++++++++-------------- 1 files changed, 8 insertions(+), 14 deletions(-) diff --git a/http-push.c b/http-push.c index b2b410d..a7997ec 100644 --- a/http-push.c +++ b/http-push.c @@ -1,5 +1,6 @@ #include "cache.h" #include "commit.h" +#include "compress.h" #include "pack.h" #include "tag.h" #include "blob.h" @@ -491,31 +492,24 @@ static void start_put(struct transfer_request *request) hdrlen = sprintf(hdr, "%s %lu", typename(type), len) + 1; /* Set it up */ - memset(&stream, 0, sizeof(stream)); - deflateInit(&stream, zlib_compression_level); - size = deflateBound(&stream, len + hdrlen); + size = compress_alloc(&stream, zlib_compression_level, len + hdrlen); strbuf_init(&request->buffer.buf, size); request->buffer.posn = 0; /* Compress it */ - stream.next_out = (unsigned char *)request->buffer.buf.buf; - stream.avail_out = size; + compress_start(&stream, (void *)hdr, hdrlen, + (unsigned char *)request->buffer.buf.buf, size); /* First header.. */ - stream.next_in = (void *)hdr; - stream.avail_in = hdrlen; - while (deflate(&stream, 0) == Z_OK) - /* nothing */; + compress_next(&stream, Z_NO_FLUSH); /* Then the data itself.. */ stream.next_in = unpacked; stream.avail_in = len; - while (deflate(&stream, Z_FINISH) == Z_OK) - /* nothing */; - deflateEnd(&stream); - free(unpacked); + compress_next(&stream, Z_FINISH); - request->buffer.buf.len = stream.total_out; + request->buffer.buf.len = compress_free(&stream); + free(unpacked); request->url = xmalloc(strlen(remote->url) + strlen(request->lock->token) + 51); -- 1.5.4.rc4.39.g524a - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Ingo Molnar | [bug] block subsystem related crash with latest -git |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Adrian Bunk | Re: net/ipv4/fib_trie.c - compile error (Re: 2.6.23-rc3-mm1) |
git: | |
| Gerrit Renker | [PATCH 03/37] dccp: List management for new feature negotiation |
| Jarek Poplawski | [PATCH take 2] pkt_sched: Protect gen estimators under est_lock. |
| David Miller | [GIT]: Networking |
| Natalie Protasevich | [BUG] New Kernel Bugs |
