Zeev Suraski wrote: > Yasuo, > > Can you explain how come the output buffering code pays any attention to > implicit_flush, when I repeatedly said that output buffering and > implicit_flush are COMPLETELY unrelated?
This patch has nothing to do with implicit_flush ini directive. Isn't ob_implicit_flush() written by you? Or is it written by others? -- Yasuo Ohgaki > > Zeev > > At 16:32 03/10/2002, Yasuo Ohgaki wrote: > >> yohgaki Thu Oct 3 09:32:02 2002 EDT >> >> Modified files: >> /php4/ext/standard basic_functions.c var.c >> /php4/main output.c >> Log: >> Fixed broken code by Derick. >> ob_implicit_flush() and ob_flush_all() are stopped working. >> var_dump() and hightlisht_string() outputs buffer contents wrongly >> with ob_implicit_flush(). >> >> Everyone should be happy now. >> It was only OG(implicit_flush) interpretation issue after all. >> >> >> >> Index: php4/ext/standard/basic_functions.c >> diff -u php4/ext/standard/basic_functions.c:1.521 >> php4/ext/standard/basic_functions.c:1.522 >> --- php4/ext/standard/basic_functions.c:1.521 Thu Oct 3 06:42:57 2002 >> +++ php4/ext/standard/basic_functions.c Thu Oct 3 09:31:59 2002 >> @@ -17,7 +17,7 @@ >> >> +----------------------------------------------------------------------+ >> */ >> >> -/* $Id: basic_functions.c,v 1.521 2002/10/03 10:42:57 andrey Exp $ */ >> +/* $Id: basic_functions.c,v 1.522 2002/10/03 13:31:59 yohgaki Exp $ */ >> >> #include "php.h" >> #include "php_streams.h" >> @@ -2077,6 +2077,7 @@ >> convert_to_string(expr); >> >> if (i) { >> + php_output_set_status(0 TSRMLS_CC); >> php_start_ob_buffer (NULL, 0, 1 TSRMLS_CC); >> } >> >> @@ -2093,6 +2094,7 @@ >> 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.147 php4/ext/standard/var.c:1.148 >> --- php4/ext/standard/var.c:1.147 Thu Oct 3 06:35:33 2002 >> +++ php4/ext/standard/var.c Thu Oct 3 09:32:00 2002 >> @@ -342,21 +342,23 @@ >> PHP_FUNCTION(var_export) >> { >> zval *var; >> - zend_bool i = 0; >> + zend_bool return_output = 0; >> >> - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z|b", >> &var, &i) == FAILURE) { >> + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z|b", >> &var, &return_output) == FAILURE) { >> return; >> } >> >> - if (i) { >> + if (return_output) { >> + php_output_set_status(0 TSRMLS_CC); >> php_start_ob_buffer (NULL, 0, 1 TSRMLS_CC); >> } >> >> php_var_export(&var, 1 TSRMLS_CC); >> >> - if (i) { >> + 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.137 php4/main/output.c:1.138 >> --- php4/main/output.c:1.137 Thu Oct 3 07:56:10 2002 >> +++ php4/main/output.c Thu Oct 3 09:32:01 2002 >> @@ -18,7 +18,7 @@ >> >> +----------------------------------------------------------------------+ >> */ >> >> -/* $Id: output.c,v 1.137 2002/10/03 11:56:10 jmoore Exp $ */ >> +/* $Id: output.c,v 1.138 2002/10/03 13:32:01 yohgaki Exp $ */ >> >> #include "php.h" >> #include "ext/standard/head.h" >> @@ -591,10 +591,12 @@ >> memcpy(target, text, text_length); >> target[text_length]=0; >> >> - if (OG(active_ob_buffer).chunk_size >> - && OG(active_ob_buffer).text_length >= >> OG(active_ob_buffer).chunk_size) { >> + /* If implicit_flush is On, 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) >> + { >> zval *output_handler = >> OG(active_ob_buffer).output_handler; >> - >> + >> if (output_handler) { >> output_handler->refcount++; >> } >> >> >> >> -- >> PHP CVS Mailing List (http://www.php.net/) >> To unsubscribe, visit: http://www.php.net/unsub.php > > -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php