summaryrefslogtreecommitdiff
path: root/ext/zlib
diff options
context:
space:
mode:
authorXinchen Hui <laruence@php.net>2012-07-21 02:56:28 +0800
committerXinchen Hui <laruence@php.net>2012-07-21 02:57:36 +0800
commita6f1533789b897d3b8930b437164e81e0a0f4c72 (patch)
treed3e473fa2e150e42984f451eaaac3fba1c686f02 /ext/zlib
parenta2a1cef1a22be33521276bcaa79dab454d573591 (diff)
downloadphp-git-a6f1533789b897d3b8930b437164e81e0a0f4c72.tar.gz
Fixed bug #55544 (ob_gzhandler always conflicts with zlib.output_compression)
Diffstat (limited to 'ext/zlib')
-rw-r--r--ext/zlib/php_zlib.h1
-rw-r--r--ext/zlib/zlib.c4
2 files changed, 4 insertions, 1 deletions
diff --git a/ext/zlib/php_zlib.h b/ext/zlib/php_zlib.h
index 3d8c90cbf5..449dfed062 100644
--- a/ext/zlib/php_zlib.h
+++ b/ext/zlib/php_zlib.h
@@ -52,6 +52,7 @@ ZEND_BEGIN_MODULE_GLOBALS(zlib)
int compression_coding;
long output_compression;
long output_compression_level;
+ long output_compression_default;
char *output_handler;
php_zlib_context *ob_gzhandler;
ZEND_END_MODULE_GLOBALS(zlib);
diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c
index c6e2e0cf8b..9cd1f37886 100644
--- a/ext/zlib/zlib.c
+++ b/ext/zlib/zlib.c
@@ -890,6 +890,7 @@ static PHP_INI_MH(OnUpdate_zlib_output_compression)
status = OnUpdateLong(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC);
+ ZLIBG(output_compression) = ZLIBG(output_compression_default);
if (stage == PHP_INI_STAGE_RUNTIME && int_value) {
if (!php_output_handler_started(ZEND_STRL(PHP_ZLIB_OUTPUT_HANDLER_NAME) TSRMLS_CC)) {
php_zlib_output_compression_start(TSRMLS_C);
@@ -914,7 +915,7 @@ static PHP_INI_MH(OnUpdate_zlib_output_handler)
/* {{{ INI */
PHP_INI_BEGIN()
- STD_PHP_INI_BOOLEAN("zlib.output_compression", "0", PHP_INI_ALL, OnUpdate_zlib_output_compression, output_compression, zend_zlib_globals, zlib_globals)
+ STD_PHP_INI_BOOLEAN("zlib.output_compression", "0", PHP_INI_ALL, OnUpdate_zlib_output_compression, output_compression_default, zend_zlib_globals, zlib_globals)
STD_PHP_INI_ENTRY("zlib.output_compression_level", "-1", PHP_INI_ALL, OnUpdateLong, output_compression_level, zend_zlib_globals, zlib_globals)
STD_PHP_INI_ENTRY("zlib.output_handler", "", PHP_INI_ALL, OnUpdate_zlib_output_handler, output_handler, zend_zlib_globals, zlib_globals)
PHP_INI_END()
@@ -958,6 +959,7 @@ static PHP_MSHUTDOWN_FUNCTION(zlib)
static PHP_RINIT_FUNCTION(zlib)
{
ZLIBG(compression_coding) = 0;
+ ZLIBG(output_compression) = ZLIBG(output_compression_default);
php_zlib_output_compression_start(TSRMLS_C);