yohgaki Thu Oct 3 03:17:14 2002 EDT Modified files: /php4/ext/mbstring/tests 007.inc /php4/ext/standard basic_functions.c /php4/main output.c php_output.h Log: Added ob_flush_all() that flushes bufferred contents until it actually sent/printed. @ Added ob_flush_all() that flushes all buffers. (Yasuo) Index: php4/ext/mbstring/tests/007.inc diff -u php4/ext/mbstring/tests/007.inc:1.1 php4/ext/mbstring/tests/007.inc:1.2 --- php4/ext/mbstring/tests/007.inc:1.1 Sat Mar 2 05:44:57 2002 +++ php4/ext/mbstring/tests/007.inc Thu Oct 3 03:17:12 2002 @@ -6,6 +6,8 @@ mb_http_output('EUC-JP') or print("mb_http_output() failed\n"); ob_start('mb_output_handler'); echo $euc_jp; -ob_end_flush(); +$output = ob_get_clean(); + +var_dump( $output ); ?> Index: php4/ext/standard/basic_functions.c diff -u php4/ext/standard/basic_functions.c:1.517 php4/ext/standard/basic_functions.c:1.518 --- php4/ext/standard/basic_functions.c:1.517 Wed Oct 2 21:36:43 2002 +++ php4/ext/standard/basic_functions.c Thu Oct 3 03:17:12 2002 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: basic_functions.c,v 1.517 2002/10/03 01:36:43 yohgaki Exp $ */ +/* $Id: basic_functions.c,v 1.518 2002/10/03 07:17:12 yohgaki Exp $ */ #include "php.h" #include "php_streams.h" @@ -747,6 +747,7 @@ /* functions from output.c */ PHP_FE(ob_start, NULL) PHP_FE(ob_flush, NULL) + PHP_FE(ob_flush_all, + NULL) PHP_FE(ob_clean, NULL) PHP_FE(ob_end_flush, NULL) PHP_FE(ob_end_clean, NULL) Index: php4/main/output.c diff -u php4/main/output.c:1.132 php4/main/output.c:1.133 --- php4/main/output.c:1.132 Thu Oct 3 00:17:41 2002 +++ php4/main/output.c Thu Oct 3 03:17:13 2002 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: output.c,v 1.132 2002/10/03 04:17:41 yohgaki Exp $ */ +/* $Id: output.c,v 1.133 2002/10/03 07:17:13 yohgaki Exp $ */ #include "php.h" #include "ext/standard/head.h" @@ -739,7 +739,7 @@ /* }}} */ /* {{{ proto bool ob_flush(void) - Flush (send) contents of the output buffers */ + Flush (send) contents of the output buffer. The last buffer content is sent to +next buffer */ PHP_FUNCTION(ob_flush) { if (ZEND_NUM_ARGS() != 0) @@ -749,8 +749,31 @@ php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to flush buffer. No buffer to flush."); RETURN_FALSE; } - + php_end_ob_buffer(1, 1 TSRMLS_CC); + RETURN_TRUE; +} +/* }}} */ + +/* {{{ proto bool ob_flush_all(void) + Flush (send) contents of output buffers. All buffered contents will be +written/sent */ +PHP_FUNCTION(ob_flush_all) +{ + int orig; + + if (ZEND_NUM_ARGS() != 0) + WRONG_PARAM_COUNT; + + if (!OG(ob_nesting_level)) { + php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to +flush buffer. No buffer to flush."); + RETURN_FALSE; + } + + orig = OG(implicit_flush); /* save current implicit flush state */ + php_start_implicit_flush(TSRMLS_C); + php_end_ob_buffer(1, 1 TSRMLS_CC); + OG(implicit_flush) = orig; + RETURN_TRUE; } /* }}} */ Index: php4/main/php_output.h diff -u php4/main/php_output.h:1.45 php4/main/php_output.h:1.46 --- php4/main/php_output.h:1.45 Wed Oct 2 23:58:12 2002 +++ php4/main/php_output.h Thu Oct 3 03:17:14 2002 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_output.h,v 1.45 2002/10/03 03:58:12 yohgaki Exp $ */ +/* $Id: php_output.h,v 1.46 2002/10/03 07:17:14 yohgaki Exp $ */ #ifndef PHP_OUTPUT_H #define PHP_OUTPUT_H @@ -47,6 +47,7 @@ PHP_FUNCTION(ob_start); PHP_FUNCTION(ob_flush); +PHP_FUNCTION(ob_flush_all); PHP_FUNCTION(ob_clean); PHP_FUNCTION(ob_end_flush); PHP_FUNCTION(ob_end_clean);
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php