Yasuo - this used to work in PHP 4.2 - setting zlib.output_compression = 1 
should enable the default size of 4096 bytes...  Did you do something that 
could have broken it?

Zeev

At 13:18 30/09/2002, Wez Furlong wrote:
>wez             Mon Sep 30 06:18:06 2002 EDT
>
>   Modified files:
>     /php4/ext/zlib      zlib.c
>     /php4/main  output.c
>   Log:
>   Fix infinite recursion bug when using zlib output compression.
>   Cause: the chunk size is taken from the zlib.output_compression setting,
>   which is 0 or 1.  This causes the block_size for output buffer to be set
>   to 0 (1 / 2) and thus causes infinite recursion in php_ob_allocate().
>   Solution: use a value of 0 for the chunk size which will use the default
>   sizes.  Also add a sanity check which will default the block_size to 1
>   if it ends up as 0.
>
>
>Index: php4/ext/zlib/zlib.c
>diff -u php4/ext/zlib/zlib.c:1.149 php4/ext/zlib/zlib.c:1.150
>--- php4/ext/zlib/zlib.c:1.149  Tue Sep  3 18:54:02 2002
>+++ php4/ext/zlib/zlib.c        Mon Sep 30 06:18:06 2002
>@@ -18,7 +18,7 @@
>     |          Jade Nicoletti <[EMAIL PROTECTED]>                           |
>     +----------------------------------------------------------------------+
>   */
>-/* $Id: zlib.c,v 1.149 2002/09/03 22:54:02 sniper Exp $ */
>+/* $Id: zlib.c,v 1.150 2002/09/30 10:18:06 wez Exp $ */
>  #define IS_EXT_MODULE
>
>  #ifdef HAVE_CONFIG_H
>@@ -230,6 +230,8 @@
>         ZLIBG(ob_gzhandler_status) = 0;
>         ZLIBG(ob_gzip_coding) = 0;
>         if (chunk_size) {
>+               if (chunk_size == 1)
>+                       chunk_size = 0; /* use the default size */
>                 php_enable_output_compression(chunk_size TSRMLS_CC);
>         }
>         return SUCCESS;
>Index: php4/main/output.c
>diff -u php4/main/output.c:1.121 php4/main/output.c:1.122
>--- php4/main/output.c:1.121    Mon Sep 23 10:18:42 2002
>+++ php4/main/output.c  Mon Sep 30 06:18:06 2002
>@@ -18,7 +18,7 @@
>     +----------------------------------------------------------------------+
>  */
>
>-/* $Id: output.c,v 1.121 2002/09/23 14:18:42 zeev Exp $ */
>+/* $Id: output.c,v 1.122 2002/09/30 10:18:06 wez Exp $ */
>
>  #include "php.h"
>  #include "ext/standard/head.h"
>@@ -132,6 +132,8 @@
>         if (chunk_size) {
>                 initial_size = (chunk_size*3/2);
>                 block_size = chunk_size/2;
>+               if (block_size == 0)
>+                       block_size = 1;
>         } else {
>                 initial_size = 40*1024;
>                 block_size = 10*1024;
>
>
>
>--
>PHP CVS Mailing List (http://www.php.net/)
>To unsubscribe, visit: http://www.php.net/unsub.php


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to