diff options
author | Junio C Hamano <gitster@pobox.com> | 2011-06-10 10:45:29 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-06-10 10:51:02 -0700 |
commit | 5e86c1fb866ca4bc8d6e015ccbdafd114fd616fa (patch) | |
tree | 1acd628b6280d13d2dfae14d704edc1eb1544aa7 /zlib.c | |
parent | 9e7e5ca372a0242069ff4e7eccecc7d5fe7ec385 (diff) | |
download | git-5e86c1fb866ca4bc8d6e015ccbdafd114fd616fa.tar.gz |
zlib: wrap inflateInit2 used to accept only for gzip format
http-backend.c uses inflateInit2() to tell the library that it wants to
accept only gzip format. Wrap it in a helper function so that readers do
not have to wonder what the magic numbers 15 and 16 are for.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'zlib.c')
-rw-r--r-- | zlib.c | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -32,6 +32,21 @@ void git_inflate_init(z_streamp strm) strm->msg ? strm->msg : "no message"); } +void git_inflate_init_gzip_only(z_streamp strm) +{ + /* + * Use default 15 bits, +16 is to accept only gzip and to + * yield Z_DATA_ERROR when fed zlib format. + */ + const int windowBits = 15 + 16; + int status = inflateInit2(strm, windowBits); + + if (status == Z_OK) + return; + die("inflateInit2: %s (%s)", zerr_to_string(status), + strm->msg ? strm->msg : "no message"); +} + void git_inflate_end(z_streamp strm) { int status = inflateEnd(strm); |