summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2008-12-30 19:08:54 +0000
committerMarcus Boerger <helly@php.net>2008-12-30 19:08:54 +0000
commitd6d41215463d623257f11a8602ca97288aa71b44 (patch)
treea231769801baa7b803c6775738109d12e85c9f6f
parent7cfc6b9116061b22b20729184212e0eb3f33a2ed (diff)
downloadphp-git-d6d41215463d623257f11a8602ca97288aa71b44.tar.gz
- MFH Do not show empty ini directive tables for modules without ini entries.
-rw-r--r--main/php_ini.c27
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();
+ }
}
/* }}} */