diff options
| author | Dmitry Stogov <dmitry@zend.com> | 2018-12-19 02:49:56 +0300 |
|---|---|---|
| committer | Dmitry Stogov <dmitry@zend.com> | 2018-12-19 02:49:56 +0300 |
| commit | cec091176cecd3f1efd553f4283fa7346184ad36 (patch) | |
| tree | 965bd52566d4f58045f8cb7f4ec32097799ef676 /main/php_ini.c | |
| parent | f67f42122adb83b6df75ad9f7a64281a73e845f6 (diff) | |
| download | php-git-cec091176cecd3f1efd553f4283fa7346184ad36.tar.gz | |
Replace zend_hash_apply... with ZEND_HASH_FOREACH...
Diffstat (limited to 'main/php_ini.c')
| -rw-r--r-- | main/php_ini.c | 85 |
1 files changed, 32 insertions, 53 deletions
diff --git a/main/php_ini.c b/main/php_ini.c index 9bf2f6fc53..cc31d1af18 100644 --- a/main/php_ini.c +++ b/main/php_ini.c @@ -115,69 +115,48 @@ static void php_ini_displayer_cb(zend_ini_entry *ini_entry, int type) } /* }}} */ -/* {{{ php_ini_displayer - */ -static int php_ini_displayer(zval *el, void *arg) -{ - zend_ini_entry *ini_entry = (zend_ini_entry*)Z_PTR_P(el); - int module_number = *(int *)arg; - - if (ini_entry->module_number != module_number) { - return 0; - } - if (!sapi_module.phpinfo_as_text) { - PUTS("<tr>"); - PUTS("<td class=\"e\">"); - PHPWRITE(ZSTR_VAL(ini_entry->name), ZSTR_LEN(ini_entry->name)); - PUTS("</td><td class=\"v\">"); - php_ini_displayer_cb(ini_entry, ZEND_INI_DISPLAY_ACTIVE); - PUTS("</td><td class=\"v\">"); - php_ini_displayer_cb(ini_entry, ZEND_INI_DISPLAY_ORIG); - PUTS("</td></tr>\n"); - } else { - PHPWRITE(ZSTR_VAL(ini_entry->name), ZSTR_LEN(ini_entry->name)); - PUTS(" => "); - php_ini_displayer_cb(ini_entry, ZEND_INI_DISPLAY_ACTIVE); - PUTS(" => "); - php_ini_displayer_cb(ini_entry, ZEND_INI_DISPLAY_ORIG); - PUTS("\n"); - } - return 0; -} -/* }}} */ - -/* {{{ php_ini_available - */ -static int php_ini_available(zval *el, void *arg) -{ - zend_ini_entry *ini_entry = (zend_ini_entry *)Z_PTR_P(el); - int *module_number_available = (int *)arg; - if (ini_entry->module_number == *(int *)module_number_available) { - *(int *)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, module_number_available; + int module_number; + zend_ini_entry *ini_entry; + zend_bool first = 1; if (module) { module_number = module->module_number; } else { module_number = 0; } - module_number_available = module_number; - zend_hash_apply_with_argument(EG(ini_directives), php_ini_available, &module_number_available); - 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), php_ini_displayer, (void *)&module_number); + + ZEND_HASH_FOREACH_PTR(EG(ini_directives), ini_entry) { + if (ini_entry->module_number != module_number) { + continue; + } + if (first) { + php_info_print_table_start(); + php_info_print_table_header(3, "Directive", "Local Value", "Master Value"); + first = 0; + } + if (!sapi_module.phpinfo_as_text) { + PUTS("<tr>"); + PUTS("<td class=\"e\">"); + PHPWRITE(ZSTR_VAL(ini_entry->name), ZSTR_LEN(ini_entry->name)); + PUTS("</td><td class=\"v\">"); + php_ini_displayer_cb(ini_entry, ZEND_INI_DISPLAY_ACTIVE); + PUTS("</td><td class=\"v\">"); + php_ini_displayer_cb(ini_entry, ZEND_INI_DISPLAY_ORIG); + PUTS("</td></tr>\n"); + } else { + PHPWRITE(ZSTR_VAL(ini_entry->name), ZSTR_LEN(ini_entry->name)); + PUTS(" => "); + php_ini_displayer_cb(ini_entry, ZEND_INI_DISPLAY_ACTIVE); + PUTS(" => "); + php_ini_displayer_cb(ini_entry, ZEND_INI_DISPLAY_ORIG); + PUTS("\n"); + } + } ZEND_HASH_FOREACH_END(); + if (!first) { php_info_print_table_end(); } } |
