zlib: wrap deflateBound() too
authorJunio C Hamano <gitster@pobox.com>
Fri, 10 Jun 2011 18:18:17 +0000 (11:18 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 10 Jun 2011 18:18:17 +0000 (11:18 -0700)
Signed-off-by: Junio C Hamano <gitster@pobox.com>
archive-zip.c
builtin/pack-objects.c
cache.h
diff.c
fast-import.c
http-push.c
remote-curl.c
zlib.c

index 081ff83..8fbac27 100644 (file)
@@ -97,7 +97,7 @@ static void *zlib_deflate(void *data, unsigned long size,
 
        memset(&stream, 0, sizeof(stream));
        git_deflate_init(&stream, compression_level);
-       maxsize = deflateBound(&stream, size);
+       maxsize = git_deflate_bound(&stream, size);
        buffer = xmalloc(maxsize);
 
        stream.next_in = data;
index 61f9755..8981dd6 100644 (file)
@@ -132,7 +132,7 @@ static unsigned long do_compress(void **pptr, unsigned long size)
 
        memset(&stream, 0, sizeof(stream));
        git_deflate_init(&stream, pack_compression_level);
-       maxsize = deflateBound(&stream, size);
+       maxsize = git_deflate_bound(&stream, size);
 
        in = *pptr;
        out = xmalloc(maxsize);
diff --git a/cache.h b/cache.h
index 5eb61ac..85ac5ec 100644 (file)
--- a/cache.h
+++ b/cache.h
@@ -16,9 +16,6 @@
 #endif
 
 #include <zlib.h>
-#if defined(NO_DEFLATE_BOUND) || ZLIB_VERNUM < 0x1200
-#define deflateBound(c,s)  ((s) + (((s) + 7) >> 3) + (((s) + 63) >> 6) + 11)
-#endif
 
 void git_inflate_init(z_streamp strm);
 void git_inflate_init_gzip_only(z_streamp strm);
@@ -30,6 +27,7 @@ void git_deflate_init_gzip(z_streamp strm, int level);
 void git_deflate_end(z_streamp strm);
 int git_deflate_end_gently(z_streamp strm);
 int git_deflate(z_streamp strm, int flush);
+unsigned long git_deflate_bound(z_streamp, unsigned long);
 
 #if defined(DT_UNKNOWN) && !defined(NO_D_TYPE_IN_DIRENT)
 #define DTYPE(de)      ((de)->d_type)
diff --git a/diff.c b/diff.c
index c15c70f..bac9a4b 100644 (file)
--- a/diff.c
+++ b/diff.c
@@ -1733,7 +1733,7 @@ static unsigned char *deflate_it(char *data,
 
        memset(&stream, 0, sizeof(stream));
        git_deflate_init(&stream, zlib_compression_level);
-       bound = deflateBound(&stream, size);
+       bound = git_deflate_bound(&stream, size);
        deflated = xmalloc(bound);
        stream.next_out = deflated;
        stream.avail_out = bound;
index 42979e6..e4116a4 100644 (file)
@@ -1058,7 +1058,7 @@ static int store_object(
                s.next_in = (void *)dat->buf;
                s.avail_in = dat->len;
        }
-       s.avail_out = deflateBound(&s, s.avail_in);
+       s.avail_out = git_deflate_bound(&s, s.avail_in);
        s.next_out = out = xmalloc(s.avail_out);
        while (git_deflate(&s, Z_FINISH) == Z_OK)
                ; /* nothing */
@@ -1081,7 +1081,7 @@ static int store_object(
                        git_deflate_init(&s, pack_compression_level);
                        s.next_in = (void *)dat->buf;
                        s.avail_in = dat->len;
-                       s.avail_out = deflateBound(&s, s.avail_in);
+                       s.avail_out = git_deflate_bound(&s, s.avail_in);
                        s.next_out = out = xrealloc(out, s.avail_out);
                        while (git_deflate(&s, Z_FINISH) == Z_OK)
                                ; /* nothing */
index 46e68c8..ecd67cf 100644 (file)
@@ -360,7 +360,7 @@ static void start_put(struct transfer_request *request)
        /* Set it up */
        memset(&stream, 0, sizeof(stream));
        git_deflate_init(&stream, zlib_compression_level);
-       size = deflateBound(&stream, len + hdrlen);
+       size = git_deflate_bound(&stream, len + hdrlen);
        strbuf_init(&request->buffer.buf, size);
        request->buffer.posn = 0;
 
index 3c7621a..13d8cee 100644 (file)
@@ -476,7 +476,7 @@ static int post_rpc(struct rpc_state *rpc)
 
                memset(&stream, 0, sizeof(stream));
                git_deflate_init_gzip(&stream, Z_BEST_COMPRESSION);
-               size = deflateBound(&stream, rpc->len);
+               size = git_deflate_bound(&stream, rpc->len);
                gzip_body = xmalloc(size);
 
                stream.next_in = (unsigned char *)rpc->buf;
diff --git a/zlib.c b/zlib.c
index ee47a3a..8f19d2f 100644 (file)
--- a/zlib.c
+++ b/zlib.c
@@ -78,6 +78,15 @@ int git_inflate(z_streamp strm, int flush)
        return status;
 }
 
+#if defined(NO_DEFLATE_BOUND) || ZLIB_VERNUM < 0x1200
+#define deflateBound(c,s)  ((s) + (((s) + 7) >> 3) + (((s) + 63) >> 6) + 11)
+#endif
+
+unsigned long git_deflate_bound(z_streamp strm, unsigned long size)
+{
+       return deflateBound(strm, size);
+}
+
 void git_deflate_init(z_streamp strm, int level)
 {
        int status = deflateInit(strm, level);