diff options
author | Junio C Hamano <gitster@pobox.com> | 2011-06-10 10:55:10 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-06-10 11:10:29 -0700 |
commit | 55bb5c9147a209eba44c3e9866704ece424c3d31 (patch) | |
tree | 1b3561115345d0b236085d741da75390cb1e759b /builtin | |
parent | 5e86c1fb866ca4bc8d6e015ccbdafd114fd616fa (diff) | |
download | git-55bb5c9147a209eba44c3e9866704ece424c3d31.tar.gz git-55bb5c9147a209eba44c3e9866704ece424c3d31.tar.xz |
zlib: wrap deflate side of the API
Wrap deflateInit, deflate, and deflateEnd for everybody, and the sole use
of deflateInit2 in remote-curl.c to tell the library to use gzip header
and trailer in git_deflate_init_gzip().
There is only one caller that cares about the status from deflateEnd().
Introduce git_deflate_end_gently() to let that sole caller retrieve the
status and act on it (i.e. die) for now, but we would probably want to
make inflate_end/deflate_end die when they ran out of memory and get
rid of the _gently() kind.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/index-pack.c | 6 | ||||
-rw-r--r-- | builtin/pack-objects.c | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/builtin/index-pack.c b/builtin/index-pack.c index 31f001f10..dbfb5da52 100644 --- a/builtin/index-pack.c +++ b/builtin/index-pack.c @@ -671,21 +671,21 @@ static int write_compressed(struct sha1file *f, void *in, unsigned int size) unsigned char outbuf[4096]; memset(&stream, 0, sizeof(stream)); - deflateInit(&stream, zlib_compression_level); + git_deflate_init(&stream, zlib_compression_level); stream.next_in = in; stream.avail_in = size; do { stream.next_out = outbuf; stream.avail_out = sizeof(outbuf); - status = deflate(&stream, Z_FINISH); + status = git_deflate(&stream, Z_FINISH); sha1write(f, outbuf, sizeof(outbuf) - stream.avail_out); } while (status == Z_OK); if (status != Z_STREAM_END) die("unable to deflate appended object (%d)", status); size = stream.total_out; - deflateEnd(&stream); + git_deflate_end(&stream); return size; } diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c index f402a843b..61f975585 100644 --- a/builtin/pack-objects.c +++ b/builtin/pack-objects.c @@ -131,7 +131,7 @@ static unsigned long do_compress(void **pptr, unsigned long size) unsigned long maxsize; memset(&stream, 0, sizeof(stream)); - deflateInit(&stream, pack_compression_level); + git_deflate_init(&stream, pack_compression_level); maxsize = deflateBound(&stream, size); in = *pptr; @@ -142,9 +142,9 @@ static unsigned long do_compress(void **pptr, unsigned long size) stream.avail_in = size; stream.next_out = out; stream.avail_out = maxsize; - while (deflate(&stream, Z_FINISH) == Z_OK) + while (git_deflate(&stream, Z_FINISH) == Z_OK) ; /* nothing */ - deflateEnd(&stream); + git_deflate_end(&stream); free(in); return stream.total_out; |