diff options
author | Yasuo Ohgaki <yohgaki@php.net> | 2002-03-01 03:05:50 +0000 |
---|---|---|
committer | Yasuo Ohgaki <yohgaki@php.net> | 2002-03-01 03:05:50 +0000 |
commit | 82a8d372e5fcbee52769f2c376fad34fec4bf63e (patch) | |
tree | e43c8ad75de35a270e87f87067a379f39c4cf6db /main/php_output.h | |
parent | 28c5d0f0458304fe6048318567ced2c4610bce19 (diff) | |
download | php-git-82a8d372e5fcbee52769f2c376fad34fec4bf63e.tar.gz |
Added ob_get_status() to get array of buffers and it's status.
(DO NOT document this function yet)
Fixed crash bug with ob_end_*() function. ob_end_*() will not delete
buffers that may not be deleted.
php_start_ob_buffer() and php_ob_set_internal_handler() takes parameter for
if the buffer created may be deleted or not.
Added 3rd parameter "bool erase" to ob_start(). If FALSE, buffer may not be
deleted until script finshes.
Changed ob_*() function that have void return type to bool. All ob_*()
functions return TRUE for success, FALSE for failure.
@ - Added ob_get_status() to get array of buffers and it's status. (Yasuo)
@ - Fixed crash bug with ob_end_*() function. ob_end_*() will not delete
@ buffers that may not be deleted. (Yasuo)
@ - Added 3rd parameter "bool erase" to ob_start(). If FALSE, buffer may not be
@ deleted until script finshes. (Yasuo)
@ - Changed ob_*() function that have void return type to bool. All ob_*()
@ functions return TRUE for success, FALSE for failure. (Yasuo)
Diffstat (limited to 'main/php_output.h')
-rw-r--r-- | main/php_output.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/main/php_output.h b/main/php_output.h index 4a6b5f1ae2..f1a8069ce1 100644 --- a/main/php_output.h +++ b/main/php_output.h @@ -29,7 +29,7 @@ PHPAPI void php_output_set_status(zend_bool status TSRMLS_DC); void php_output_register_constants(TSRMLS_D); PHPAPI int php_body_write(const char *str, uint str_length TSRMLS_DC); PHPAPI int php_header_write(const char *str, uint str_length TSRMLS_DC); -PHPAPI int php_start_ob_buffer(zval *output_handler, uint chunk_size TSRMLS_DC); +PHPAPI int php_start_ob_buffer(zval *output_handler, uint chunk_size, zend_bool erase TSRMLS_DC); PHPAPI void php_end_ob_buffer(zend_bool send_buffer, zend_bool just_flush TSRMLS_DC); PHPAPI void php_end_ob_buffers(zend_bool send_buffer TSRMLS_DC); PHPAPI int php_ob_get_buffer(zval *p TSRMLS_DC); @@ -38,7 +38,7 @@ PHPAPI void php_start_implicit_flush(TSRMLS_D); PHPAPI void php_end_implicit_flush(TSRMLS_D); PHPAPI char *php_get_output_start_filename(TSRMLS_D); PHPAPI int php_get_output_start_lineno(TSRMLS_D); -PHPAPI void php_ob_set_internal_handler(php_output_handler_func_t internal_output_handler, uint buffer_size TSRMLS_DC); +PHPAPI void php_ob_set_internal_handler(php_output_handler_func_t internal_output_handler, uint buffer_size, char *handler_name, zend_bool erase TSRMLS_DC); PHP_FUNCTION(ob_start); PHP_FUNCTION(ob_flush); @@ -48,6 +48,7 @@ PHP_FUNCTION(ob_end_clean); PHP_FUNCTION(ob_get_contents); PHP_FUNCTION(ob_get_length); PHP_FUNCTION(ob_get_level); +PHP_FUNCTION(ob_get_status); PHP_FUNCTION(ob_implicit_flush); typedef struct _php_ob_buffer { @@ -61,6 +62,8 @@ typedef struct _php_ob_buffer { php_output_handler_func_t internal_output_handler; char *internal_output_handler_buffer; uint internal_output_handler_buffer_size; + char *handler_name; + zend_bool erase; } php_ob_buffer; typedef struct _php_output_globals { @@ -76,7 +79,6 @@ typedef struct _php_output_globals { zend_bool disable_output; } php_output_globals; - #ifdef ZTS #define OG(v) TSRMG(output_globals_id, php_output_globals *, v) ZEND_API extern int output_globals_id; @@ -89,4 +91,8 @@ ZEND_API extern php_output_globals output_globals; #define PHP_OUTPUT_HANDLER_CONT (1<<1) #define PHP_OUTPUT_HANDLER_END (1<<2) +#define PHP_OUTPUT_HANDLER_INTERNAL 0 +#define PHP_OUTPUT_HANDLER_USER 1 + + #endif /* PHP_OUTPUT_H */ |