mirror of
https://github.com/php/php-src.git
synced 2024-11-24 10:24:11 +08:00
fix bug #60761 zlib.output_compression fails on refresh
This commit is contained in:
parent
d9788dd73f
commit
0ad53bfd7d
@ -284,7 +284,8 @@ static void php_zlib_output_compression_start(TSRMLS_D)
|
||||
ZLIBG(output_compression) = PHP_OUTPUT_HANDLER_DEFAULT_SIZE;
|
||||
/* break omitted intentionally */
|
||||
default:
|
||||
if ( (h = php_zlib_output_handler_init(ZEND_STRL(PHP_ZLIB_OUTPUT_HANDLER_NAME), ZLIBG(output_compression), PHP_OUTPUT_HANDLER_STDFLAGS TSRMLS_CC)) &&
|
||||
if ( php_zlib_output_encoding(TSRMLS_C) &&
|
||||
(h = php_zlib_output_handler_init(ZEND_STRL(PHP_ZLIB_OUTPUT_HANDLER_NAME), ZLIBG(output_compression), PHP_OUTPUT_HANDLER_STDFLAGS TSRMLS_CC)) &&
|
||||
(SUCCESS == php_output_handler_start(h TSRMLS_CC))) {
|
||||
if (ZLIBG(output_handler) && *ZLIBG(output_handler)) {
|
||||
MAKE_STD_ZVAL(zoh);
|
||||
@ -966,7 +967,6 @@ static PHP_RINIT_FUNCTION(zlib)
|
||||
|
||||
static PHP_RSHUTDOWN_FUNCTION(zlib)
|
||||
{
|
||||
ZLIBG(output_compression) = 0;
|
||||
php_zlib_cleanup_ob_gzhandler_mess(TSRMLS_C);
|
||||
|
||||
return SUCCESS;
|
||||
|
@ -1025,6 +1025,7 @@ static inline php_output_handler_status_t php_output_handler_op(php_output_handl
|
||||
case PHP_OUTPUT_HANDLER_SUCCESS:
|
||||
/* no more buffered data */
|
||||
handler->buffer.used = 0;
|
||||
handler->flags |= PHP_OUTPUT_HANDLER_PROCESSED;
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -45,6 +45,7 @@
|
||||
/* handler status flags */
|
||||
#define PHP_OUTPUT_HANDLER_STARTED 0x1000
|
||||
#define PHP_OUTPUT_HANDLER_DISABLED 0x2000
|
||||
#define PHP_OUTPUT_HANDLER_PROCESSED 0x4000
|
||||
|
||||
/* handler op return values */
|
||||
typedef enum _php_output_handler_status_t {
|
||||
@ -82,7 +83,7 @@ typedef enum _php_output_handler_hook_t {
|
||||
} php_output_handler_hook_t;
|
||||
|
||||
#define PHP_OUTPUT_HANDLER_INITBUF_SIZE(s) \
|
||||
( (s) ? \
|
||||
( ((s) > 1) ? \
|
||||
(s) + PHP_OUTPUT_HANDLER_ALIGNTO_SIZE - ((s) % (PHP_OUTPUT_HANDLER_ALIGNTO_SIZE)) : \
|
||||
PHP_OUTPUT_HANDLER_DEFAULT_SIZE \
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user