mike Sun Jun 4 10:01:58 2006 UTC Added files: /php-src/tests/output ob_017.phpt
Modified files: /php-src/main output.c Log: - fix output handler seeing buffered data when it gets discarded - add test http://cvs.php.net/viewcvs.cgi/php-src/main/output.c?r1=1.179&r2=1.180&diff_format=u Index: php-src/main/output.c diff -u php-src/main/output.c:1.179 php-src/main/output.c:1.180 --- php-src/main/output.c:1.179 Sat Jun 3 11:19:44 2006 +++ php-src/main/output.c Sun Jun 4 10:01:57 2006 @@ -19,7 +19,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: output.c,v 1.179 2006/06/03 11:19:44 mike Exp $ */ +/* $Id: output.c,v 1.180 2006/06/04 10:01:57 mike Exp $ */ #ifndef PHP_OUTPUT_DEBUG # define PHP_OUTPUT_DEBUG 0 @@ -1181,6 +1181,7 @@ /* signal that we're cleaning up */ if (discard) { context.op |= PHP_OUTPUT_HANDLER_CLEAN; + orphan->buffer.used = 0; } php_output_handler_op(orphan, &context); } http://cvs.php.net/viewcvs.cgi/php-src/tests/output/ob_017.phpt?view=markup&rev=1.1 Index: php-src/tests/output/ob_017.phpt +++ php-src/tests/output/ob_017.phpt --TEST-- output buffering - stati --FILE-- <?php $stati = array(); function oh($str, $flags) { global $stati; $stati[] = "$flags: $str"; return $str; } ob_start("oh", 3); echo "yes"; echo "!\n"; ob_flush(); echo "no"; ob_clean(); echo "yes!\n"; echo "no"; ob_end_clean(); print_r($stati); ?> --EXPECT-- yes! yes! Array ( [0] => 1: yes [1] => 4: ! [2] => 2: [3] => 0: yes! [4] => 10: ) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php