summaryrefslogtreecommitdiff
path: root/main/php_ini.c
diff options
context:
space:
mode:
authorXinchen Hui <laruence@gmail.com>2017-06-12 17:21:35 +0800
committerXinchen Hui <laruence@gmail.com>2017-06-12 17:21:35 +0800
commitcaf35c5cf533c10852f043fd0079a14876331d99 (patch)
tree22bf663b0c90faa85f02c1c3236b677d09962111 /main/php_ini.c
parent0fa40b054618317bfe5e076da614da27b4304fa4 (diff)
parente05f79c3de534b2ae05ff497ca67b2f1509bd5a7 (diff)
downloadphp-git-caf35c5cf533c10852f043fd0079a14876331d99.tar.gz
Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0: Add simple cli test for PATH/HOST ini sections Fixed bug #74600
Diffstat (limited to 'main/php_ini.c')
-rw-r--r--main/php_ini.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/main/php_ini.c b/main/php_ini.c
index 12dba2a52e..75b1695ec4 100644
--- a/main/php_ini.c
+++ b/main/php_ini.c
@@ -280,7 +280,7 @@ static void php_ini_parser_cb(zval *arg1, zval *arg2, zval *arg3, int callback_t
size_t key_len;
/* PATH sections */
- if (zend_string_equals_literal_ci(Z_STR_P(arg1), "PATH")) {
+ if (!zend_binary_strncasecmp(Z_STRVAL_P(arg1), Z_STRLEN_P(arg1), "PATH", sizeof("PATH") - 1, sizeof("PATH") - 1)) {
key = Z_STRVAL_P(arg1);
key = key + sizeof("PATH") - 1;
key_len = Z_STRLEN_P(arg1) - sizeof("PATH") + 1;
@@ -291,7 +291,7 @@ static void php_ini_parser_cb(zval *arg1, zval *arg2, zval *arg3, int callback_t
TRANSLATE_SLASHES_LOWER(key);
/* HOST sections */
- } else if (zend_string_equals_literal_ci(Z_STR_P(arg1), "HOST")) {
+ } else if (!zend_binary_strncasecmp(Z_STRVAL_P(arg1), Z_STRLEN_P(arg1), "HOST", sizeof("HOST") - 1, sizeof("HOST") - 1)) {
key = Z_STRVAL_P(arg1);
key = key + sizeof("HOST") - 1;
key_len = Z_STRLEN_P(arg1) - sizeof("HOST") + 1;
@@ -328,7 +328,9 @@ static void php_ini_parser_cb(zval *arg1, zval *arg2, zval *arg3, int callback_t
zend_hash_init(Z_ARRVAL(section_arr), 8, NULL, (dtor_func_t) config_zval_dtor, 1);
entry = zend_hash_str_update(target_hash, key, key_len, &section_arr);
}
- active_ini_hash = Z_ARRVAL_P(entry);
+ if (Z_TYPE_P(entry) == IS_ARRAY) {
+ active_ini_hash = Z_ARRVAL_P(entry);
+ }
}
}
break;