You should aware of sending buffered contents chunk by chunk is also problematic. i.e. ob_flush() and user specified chunk size.
I guess you are going to fix(drop) ob_flush() along with other ob features ;) It does not make much sense not to have implicit/explict PHP buffer flushing, but I don't care much as I said before ;) -- Yasuo Ohgaki Zeev Suraski wrote: > zeev Sun Oct 6 08:02:54 2002 EDT > > Modified files: > /php4/ext/standard basic_functions.c var.c > /php4/main output.c > Log: > Revert the implicit_flush mess. > > Do not revert it again under any circumstances! > > Yasuo/anybody else - if there are issues with implicit_flush, please inform > me and I will fix them. > > > Index: php4/ext/standard/basic_functions.c > diff -u php4/ext/standard/basic_functions.c:1.524 >php4/ext/standard/basic_functions.c:1.525 > --- php4/ext/standard/basic_functions.c:1.524 Sun Oct 6 05:06:24 2002 > +++ php4/ext/standard/basic_functions.c Sun Oct 6 08:02:52 2002 > @@ -17,7 +17,7 @@ > +----------------------------------------------------------------------+ > */ > > -/* $Id: basic_functions.c,v 1.524 2002/10/06 09:06:24 zeev Exp $ */ > +/* $Id: basic_functions.c,v 1.525 2002/10/06 12:02:52 zeev Exp $ */ > > #include "php.h" > #include "php_streams.h" > @@ -2076,7 +2076,6 @@ > convert_to_string(expr); > > if (i) { > - php_output_set_status(0 TSRMLS_CC); > php_start_ob_buffer (NULL, 0, 1 TSRMLS_CC); > } > > @@ -2093,7 +2092,6 @@ > if (i) { > php_ob_get_buffer (return_value TSRMLS_CC); > php_end_ob_buffer (0, 0 TSRMLS_CC); > - php_output_set_status(1 TSRMLS_CC); > } else { > RETURN_TRUE; > } > Index: php4/ext/standard/var.c > diff -u php4/ext/standard/var.c:1.148 php4/ext/standard/var.c:1.149 > --- php4/ext/standard/var.c:1.148 Thu Oct 3 09:32:00 2002 > +++ php4/ext/standard/var.c Sun Oct 6 08:02:52 2002 > @@ -349,7 +349,6 @@ > } > > if (return_output) { > - php_output_set_status(0 TSRMLS_CC); > php_start_ob_buffer (NULL, 0, 1 TSRMLS_CC); > } > > @@ -358,7 +357,6 @@ > if (return_output) { > php_ob_get_buffer (return_value TSRMLS_CC); > php_end_ob_buffer (0, 0 TSRMLS_CC); > - php_output_set_status(1 TSRMLS_CC); > } > } > /* }}} */ > Index: php4/main/output.c > diff -u php4/main/output.c:1.140 php4/main/output.c:1.141 > --- php4/main/output.c:1.140 Sun Oct 6 05:06:24 2002 > +++ php4/main/output.c Sun Oct 6 08:02:53 2002 > @@ -18,7 +18,7 @@ > +----------------------------------------------------------------------+ > */ > > -/* $Id: output.c,v 1.140 2002/10/06 09:06:24 zeev Exp $ */ > +/* $Id: output.c,v 1.141 2002/10/06 12:02:53 zeev Exp $ */ > > #include "php.h" > #include "ext/standard/head.h" > @@ -94,10 +94,7 @@ > > > /* {{{ php_output_set_status > - Toggle output status. Use this function for internal functions uses > - buffers. If you don't implict flush (both php.ini implicit_flush and >ob_impilict_flush()) > - may flush your php_printf() output. > - status: 0 for disable output, 1 for enable.*/ > + Toggle output status. Do NOT use in application code, only in SAPIs where >appropriate. */ > PHPAPI void php_output_set_status(zend_bool status TSRMLS_DC) > { > OG(disable_output) = !status; > @@ -592,9 +589,8 @@ > target[text_length]=0; > > /* If implicit_flush is On or chunked buffering, send contents to next buffer >and return. */ > - if (OG(implicit_flush) || (OG(active_ob_buffer).chunk_size > - && OG(active_ob_buffer).text_length >= >OG(active_ob_buffer).chunk_size)) > - { > + if (OG(active_ob_buffer).chunk_size > + && OG(active_ob_buffer).text_length >= >OG(active_ob_buffer).chunk_size) { > zval *output_handler = OG(active_ob_buffer).output_handler; > > if (output_handler) { > > -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php