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]