зеркало из https://github.com/microsoft/git.git
zlib: wrap deflateBound() too
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
55bb5c9147
Коммит
225a6f1068
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
4
cache.h
4
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)
|
||||
|
|
2
diff.c
2
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;
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
9
zlib.c
9
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);
|
||||
|
|
Загрузка…
Ссылка в новой задаче