Skip to content

Commit

Permalink
fix bug #60761 zlib.output_compression fails on refresh
Browse files Browse the repository at this point in the history
  • Loading branch information
m6w6 committed May 15, 2012
1 parent d9788dd commit 0ad53bf
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 3 deletions.
4 changes: 2 additions & 2 deletions ext/zlib/zlib.c
Expand Up @@ -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);
Expand Down Expand Up @@ -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;
Expand Down
1 change: 1 addition & 0 deletions main/output.c
Expand Up @@ -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;
}

Expand Down
3 changes: 2 additions & 1 deletion main/php_output.h
Expand Up @@ -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 {
Expand Down Expand Up @@ -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 \
)
Expand Down

0 comments on commit 0ad53bf

Please sign in to comment.