com php-src: Fix Z_BLOCK breakage when built against zlib < 1.2.4: ext/zlib/tests/deflate_a dd_basic.phpt ext/zlib/tests/inflate_add_basic.phpt
ext/zlib/zlib.c

From: Date: Thu, 07 May 2015 13:02:38 +0000
Subject: com php-src: Fix Z_BLOCK breakage when built against zlib < 1.2.4: ext/zlib/tests/deflate_a dd_basic.phpt ext/zlib/tests/inflate_add_basic.phpt
ext/zlib/zlib.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-86642@lists.php.net to get a copy of this message
Commit: 62b1293e3df520d104c678bc520b413386b628c5 Author: Daniel Lowrey <rdlowrey@php.net> Thu, 7 May 2015 09:02:30 -0400 Parents: fbd1f1f282466bd709081e104d65baf597aee666 Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=62b1293e3df520d104c678bc520b413386b628c5 Log: Fix Z_BLOCK breakage when built against zlib < 1.2.4 Changed paths: M ext/zlib/tests/deflate_add_basic.phpt M ext/zlib/tests/inflate_add_basic.phpt M ext/zlib/zlib.c Diff: diff --git a/ext/zlib/tests/deflate_add_basic.phpt b/ext/zlib/tests/deflate_add_basic.phpt index 9f48bb0..fde22b5 100644 --- a/ext/zlib/tests/deflate_add_basic.phpt +++ b/ext/zlib/tests/deflate_add_basic.phpt @@ -41,9 +41,13 @@ $flushTypes = [ 'ZLIB_PARTIAL_FLUSH' => ZLIB_PARTIAL_FLUSH, 'ZLIB_FULL_FLUSH' => ZLIB_FULL_FLUSH, 'ZLIB_NO_FLUSH' => ZLIB_NO_FLUSH, - 'ZLIB_BLOCK' => ZLIB_BLOCK, ]; +/* Z_BLOCK is only defined when built against zlib > 1.2.3 */ +if (defined(ZLIB_BLOCK)) { + $flushTypes['ZLIB_BLOCK'] = ZLIB_BLOCK; +} + foreach ($modes as $modeKey => $mode) { foreach ($flushSizes as $flushSize) { foreach ($flushTypes as $flushTypeKey => $flushType) { diff --git a/ext/zlib/tests/inflate_add_basic.phpt b/ext/zlib/tests/inflate_add_basic.phpt index ff0458e..7ef5ef1 100644 --- a/ext/zlib/tests/inflate_add_basic.phpt +++ b/ext/zlib/tests/inflate_add_basic.phpt @@ -40,9 +40,13 @@ $flushTypes = [ 'ZLIB_PARTIAL_FLUSH' => ZLIB_PARTIAL_FLUSH, 'ZLIB_FULL_FLUSH' => ZLIB_FULL_FLUSH, 'ZLIB_NO_FLUSH' => ZLIB_NO_FLUSH, - 'ZLIB_BLOCK' => ZLIB_BLOCK, ]; +/* Z_BLOCK is only defined when built against zlib > 1.2..3 */ +if (defined(ZLIB_BLOCK)) { + $flushTypes['ZLIB_BLOCK'] = ZLIB_BLOCK; +} + $uncompressed = ""; for ($i=0;$i<(32768*2);$i++) { $uncompressed .= chr(rand(48,125)); diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c index 715fdaf..2b9c016 100644 --- a/ext/zlib/zlib.c +++ b/ext/zlib/zlib.c @@ -46,6 +46,13 @@ #undef gzseek #undef gztell +/* Z_BLOCK was added in zlib 1.2.4 and stable distros (RHEL6, at least) still + * package zlib 1.2.3 + */ +#ifdef Z_BLOCK +#define HAVE_Z_BLOCK 1 +#endif + int le_deflate; int le_inflate; @@ -814,7 +821,9 @@ PHP_FUNCTION(inflate_add) case Z_PARTIAL_FLUSH: case Z_SYNC_FLUSH: case Z_FULL_FLUSH: +#ifdef HAVE_Z_BLOCK case Z_BLOCK: +#endif case Z_FINISH: break; @@ -960,7 +969,9 @@ PHP_FUNCTION(deflate_add) case Z_PARTIAL_FLUSH: case Z_SYNC_FLUSH: case Z_FULL_FLUSH: +#ifdef HAVE_Z_BLOCK case Z_BLOCK: +#endif case Z_FINISH: break; @@ -1268,7 +1279,9 @@ static PHP_MINIT_FUNCTION(zlib) REGISTER_LONG_CONSTANT("ZLIB_PARTIAL_FLUSH", Z_PARTIAL_FLUSH, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT("ZLIB_SYNC_FLUSH", Z_SYNC_FLUSH, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT("ZLIB_FULL_FLUSH", Z_FULL_FLUSH, CONST_CS|CONST_PERSISTENT); +#ifdef HAVE_Z_BLOCK REGISTER_LONG_CONSTANT("ZLIB_BLOCK", Z_BLOCK, CONST_CS|CONST_PERSISTENT); +#endif REGISTER_LONG_CONSTANT("ZLIB_FINISH", Z_FINISH, CONST_CS|CONST_PERSISTENT); REGISTER_INI_ENTRIES(); return SUCCESS;

« previous php.cvs (#86642) next »