mirror of
https://github.com/php/php-src.git
synced 2025-08-16 14:08:47 +02:00
Make it possible to enable chunked output buffering without providing
an output handling function
This commit is contained in:
parent
2aca8c67ea
commit
e077c6bc28
3 changed files with 16 additions and 10 deletions
|
@ -227,7 +227,7 @@ PHP_INI_BEGIN()
|
|||
STD_PHP_INI_BOOLEAN("magic_quotes_gpc", "1", PHP_INI_ALL, OnUpdateBool, magic_quotes_gpc, php_core_globals, core_globals)
|
||||
STD_PHP_INI_BOOLEAN("magic_quotes_runtime", "0", PHP_INI_ALL, OnUpdateBool, magic_quotes_runtime, php_core_globals, core_globals)
|
||||
STD_PHP_INI_BOOLEAN("magic_quotes_sybase", "0", PHP_INI_ALL, OnUpdateBool, magic_quotes_sybase, php_core_globals, core_globals)
|
||||
STD_PHP_INI_BOOLEAN("output_buffering", "0", PHP_INI_PERDIR|PHP_INI_SYSTEM,OnUpdateBool, output_buffering, php_core_globals, core_globals)
|
||||
STD_PHP_INI_ENTRY("output_buffering", "0", PHP_INI_PERDIR|PHP_INI_SYSTEM,OnUpdateInt, output_buffering, php_core_globals, core_globals)
|
||||
STD_PHP_INI_ENTRY("output_handler", NULL, PHP_INI_PERDIR|PHP_INI_SYSTEM,OnUpdateString, output_handler, php_core_globals, core_globals)
|
||||
STD_PHP_INI_BOOLEAN("register_argc_argv", "1", PHP_INI_ALL, OnUpdateBool, register_argc_argv, php_core_globals, core_globals)
|
||||
STD_PHP_INI_BOOLEAN("register_globals", "1", PHP_INI_ALL, OnUpdateBool, register_globals, php_core_globals, core_globals)
|
||||
|
@ -669,7 +669,11 @@ int php_request_startup(TSRMLS_D)
|
|||
Z_TYPE_P(output_handler) = IS_STRING;
|
||||
php_start_ob_buffer(output_handler, 0 TSRMLS_CC);
|
||||
} else if (PG(output_buffering)) {
|
||||
php_start_ob_buffer(NULL, 0 TSRMLS_CC);
|
||||
if (PG(output_buffering)>1) {
|
||||
php_start_ob_buffer(NULL, PG(output_buffering) TSRMLS_CC);
|
||||
} else {
|
||||
php_start_ob_buffer(NULL, 0 TSRMLS_CC);
|
||||
}
|
||||
} else if (PG(implicit_flush)) {
|
||||
php_start_implicit_flush(TSRMLS_C);
|
||||
}
|
||||
|
|
|
@ -482,12 +482,11 @@ static int php_ub_body_write(const char *str, uint str_length TSRMLS_DC)
|
|||
Turn on Output Buffering (specifying an optional output handler). */
|
||||
PHP_FUNCTION(ob_start)
|
||||
{
|
||||
zval *output_handler;
|
||||
zval *output_handler=NULL;
|
||||
uint chunk_size=0;
|
||||
|
||||
switch (ZEND_NUM_ARGS()) {
|
||||
case 0:
|
||||
output_handler = NULL;
|
||||
break;
|
||||
case 1: {
|
||||
zval **output_handler_p;
|
||||
|
@ -506,9 +505,11 @@ PHP_FUNCTION(ob_start)
|
|||
if (zend_get_parameters_ex(2, &output_handler_p, &chunk_size_p)==FAILURE) {
|
||||
RETURN_FALSE;
|
||||
}
|
||||
SEPARATE_ZVAL(output_handler_p);
|
||||
output_handler = *output_handler_p;
|
||||
output_handler->refcount++;
|
||||
if (Z_STRLEN_PP(output_handler_p)>0) {
|
||||
SEPARATE_ZVAL(output_handler_p);
|
||||
output_handler = *output_handler_p;
|
||||
output_handler->refcount++;
|
||||
}
|
||||
convert_to_long_ex(chunk_size_p);
|
||||
chunk_size = (uint) Z_LVAL_PP(chunk_size_p);
|
||||
}
|
||||
|
|
|
@ -52,12 +52,13 @@ struct _php_core_globals {
|
|||
zend_bool magic_quotes_runtime;
|
||||
zend_bool magic_quotes_sybase;
|
||||
|
||||
zend_bool safe_mode;
|
||||
|
||||
zend_bool allow_call_time_pass_reference;
|
||||
zend_bool zend_set_utility_values;
|
||||
zend_bool output_buffering;
|
||||
zend_bool implicit_flush;
|
||||
|
||||
zend_bool safe_mode;
|
||||
int output_buffering;
|
||||
|
||||
char *safe_mode_include_dir;
|
||||
zend_bool safe_mode_gid;
|
||||
zend_bool sql_safe_mode;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue