diff --git a/lib/content_encoding.c b/lib/content_encoding.c index d23f8cdb55..e365af6168 100644 --- a/lib/content_encoding.c +++ b/lib/content_encoding.c @@ -69,6 +69,10 @@ #ifdef HAVE_LIBZ +#if !defined(ZLIB_VERNUM) || (ZLIB_VERNUM < 0x1204) +#error "requires zlib 1.2.0.4 or newer" +#endif + typedef enum { ZLIB_UNINIT, /* uninitialized */ ZLIB_INIT, /* initialized */ @@ -309,24 +313,15 @@ static CURLcode gzip_do_init(struct Curl_easy *data, { struct zlib_writer *zp = (struct zlib_writer *) writer; z_stream *z = &zp->z; /* zlib state structure */ - const char *v = zlibVersion(); /* Initialize zlib */ z->zalloc = (alloc_func) zalloc_cb; z->zfree = (free_func) zfree_cb; - if(strcmp(v, "1.2.0.4") >= 0) { - /* zlib version >= 1.2.0.4 supports transparent gzip decompressing */ - if(inflateInit2(z, MAX_WBITS + 32) != Z_OK) { - return process_zlib_error(data, z); - } - zp->zlib_init = ZLIB_INIT_GZIP; /* Transparent gzip decompress state */ - } - else { - failf(data, "too old zlib version: %s", v); - return CURLE_FAILED_INIT; - } + if(inflateInit2(z, MAX_WBITS + 32) != Z_OK) + return process_zlib_error(data, z); + zp->zlib_init = ZLIB_INIT_GZIP; /* Transparent gzip decompress state */ return CURLE_OK; }