zeev Tue Mar 6 08:25:14 2001 EDT Modified files: /php4/ext/standard output.c php_output.h Log: Fix internal output buffering Index: php4/ext/standard/output.c diff -u php4/ext/standard/output.c:1.44 php4/ext/standard/output.c:1.45 --- php4/ext/standard/output.c:1.44 Tue Mar 6 07:54:49 2001 +++ php4/ext/standard/output.c Tue Mar 6 08:25:14 2001 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: output.c,v 1.44 2001/03/06 15:54:49 zeev Exp $ */ +/* $Id: output.c,v 1.45 2001/03/06 16:25:14 zeev Exp $ */ #include "php.h" #include "ext/standard/head.h" @@ -195,6 +195,10 @@ to_be_destroyed_buffer = OG(active_ob_buffer).buffer; if (!just_flush) { + if (OG(active_ob_buffer).internal_output_handler + && (internal_output_handler_buffer != +OG(active_ob_buffer).internal_output_handler_buffer)) { + efree(internal_output_handler_buffer); + } if (OG(nesting_level)>1) { /* restore previous buffer */ php_ob_buffer *ob_buffer_p; @@ -223,10 +227,6 @@ OG(active_ob_buffer).text_length = 0; OG(active_ob_buffer).status |= PHP_OUTPUT_HANDLER_START; OG(php_body_write) = php_b_body_write; - } - if (OG(active_ob_buffer).internal_output_handler - && (internal_output_handler_buffer != OG(active_ob_buffer).internal_output_handler_buffer)) { - efree(internal_output_handler_buffer); } } Index: php4/ext/standard/php_output.h diff -u php4/ext/standard/php_output.h:1.21 php4/ext/standard/php_output.h:1.22 --- php4/ext/standard/php_output.h:1.21 Tue Mar 6 07:54:49 2001 +++ php4/ext/standard/php_output.h Tue Mar 6 08:25:14 2001 @@ -16,14 +16,14 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_output.h,v 1.21 2001/03/06 15:54:49 zeev Exp $ */ +/* $Id: php_output.h,v 1.22 2001/03/06 16:25:14 zeev Exp $ */ #ifndef PHP_OUTPUT_H #define PHP_OUTPUT_H #include "php.h" -typedef void (*php_output_handler_func_t)(char *output, uint output_len, char **handled_output, int status); +typedef void (*php_output_handler_func_t)(char *output, uint output_len, char +**handled_output, int mode); PHPAPI void php_output_startup(void); void php_output_register_constants(void); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]