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