diff options
Diffstat (limited to 'main/php_ini.c')
| -rw-r--r-- | main/php_ini.c | 27 | 
1 files changed, 22 insertions, 5 deletions
| diff --git a/main/php_ini.c b/main/php_ini.c index f83e269592..7ef1ac6e72 100644 --- a/main/php_ini.c +++ b/main/php_ini.c @@ -132,11 +132,24 @@ static int php_ini_displayer(zend_ini_entry *ini_entry, int module_number TSRMLS  }  /* }}} */ +/* {{{ php_ini_available + */ +static int php_ini_available(zend_ini_entry *ini_entry, int *module_number_available TSRMLS_DC) +{ +	if (ini_entry->module_number == *module_number_available) { +		*module_number_available = -1; +		return ZEND_HASH_APPLY_STOP; +	} else { +		return ZEND_HASH_APPLY_KEEP; +	} +} +/* }}} */ +  /* {{{ display_ini_entries   */  PHPAPI void display_ini_entries(zend_module_entry *module)  { -	int module_number; +	int module_number, module_number_available;  	TSRMLS_FETCH();  	if (module) { @@ -144,10 +157,14 @@ PHPAPI void display_ini_entries(zend_module_entry *module)  	} else {  		module_number = 0;  	} -	php_info_print_table_start(); -	php_info_print_table_header(3, "Directive", "Local Value", "Master Value"); -	zend_hash_apply_with_argument(EG(ini_directives), (apply_func_arg_t) php_ini_displayer, (void *) (zend_intptr_t) module_number TSRMLS_CC); -	php_info_print_table_end(); +	module_number_available = module_number; +	zend_hash_apply_with_argument(EG(ini_directives), (apply_func_arg_t) php_ini_available, &module_number_available TSRMLS_CC); +	if (module_number_available == -1) { +		php_info_print_table_start(); +		php_info_print_table_header(3, "Directive", "Local Value", "Master Value"); +		zend_hash_apply_with_argument(EG(ini_directives), (apply_func_arg_t) php_ini_displayer, (void *) (zend_intptr_t) module_number TSRMLS_CC); +		php_info_print_table_end(); +	}  }  /* }}} */ | 
