summaryrefslogtreecommitdiff
path: root/http-backend.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2011-08-16 11:23:26 -0700
committerJunio C Hamano <gitster@pobox.com>2011-08-16 11:23:26 -0700
commita35d78c0f483a65ea96c4f0c9a825bf28a386273 (patch)
treea20407fc5fbce3b190a364d10c47d807433ec9a5 /http-backend.c
parent184cb4d6899a2644b07c11bef71df869a851f525 (diff)
parente01503b523e79748ac91d876f506811c597d03cb (diff)
downloadgit-a35d78c0f483a65ea96c4f0c9a825bf28a386273.tar.gz
Merge branch 'jc/zlib-wrap' into maint
* jc/zlib-wrap: zlib: allow feeding more than 4GB in one go zlib: zlib can only process 4GB at a time zlib: wrap deflateBound() too zlib: wrap deflate side of the API zlib: wrap inflateInit2 used to accept only for gzip format zlib: wrap remaining calls to direct inflate/inflateEnd zlib wrapper: refactor error message formatter
Diffstat (limited to 'http-backend.c')
-rw-r--r--http-backend.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/http-backend.c b/http-backend.c
index 85015048dd..59ad7da605 100644
--- a/http-backend.c
+++ b/http-backend.c
@@ -271,16 +271,13 @@ static struct rpc_service *select_service(const char *name)
static void inflate_request(const char *prog_name, int out)
{
- z_stream stream;
+ git_zstream stream;
unsigned char in_buf[8192];
unsigned char out_buf[8192];
unsigned long cnt = 0;
- int ret;
memset(&stream, 0, sizeof(stream));
- ret = inflateInit2(&stream, (15 + 16));
- if (ret != Z_OK)
- die("cannot start zlib inflater, zlib err %d", ret);
+ git_inflate_init_gzip_only(&stream);
while (1) {
ssize_t n = xread(0, in_buf, sizeof(in_buf));
@@ -296,7 +293,7 @@ static void inflate_request(const char *prog_name, int out)
stream.next_out = out_buf;
stream.avail_out = sizeof(out_buf);
- ret = inflate(&stream, Z_NO_FLUSH);
+ ret = git_inflate(&stream, Z_NO_FLUSH);
if (ret != Z_OK && ret != Z_STREAM_END)
die("zlib error inflating request, result %d", ret);
@@ -311,7 +308,7 @@ static void inflate_request(const char *prog_name, int out)
}
done:
- inflateEnd(&stream);
+ git_inflate_end(&stream);
close(out);
}