summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorSander Roobol <sander@php.net>2002-05-19 14:45:31 +0000
committerSander Roobol <sander@php.net>2002-05-19 14:45:31 +0000
commit751cd67cc086f2892d4136633ede2a38f03c2dfe (patch)
treeeffb6946fffa2012fdd3e9f3a9170783b277c0c2 /main
parent544694255ac7beba6188fd94e68bf866caf52d50 (diff)
downloadphp-git-751cd67cc086f2892d4136633ede2a38f03c2dfe.tar.gz
get_cfg_var("get_file_path") didn't work correctly when an alternative
php.ini _file_ was specified using -c
Diffstat (limited to 'main')
-rw-r--r--main/php_ini.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/main/php_ini.c b/main/php_ini.c
index 78d7023f94..913d338729 100644
--- a/main/php_ini.c
+++ b/main/php_ini.c
@@ -306,12 +306,15 @@ int php_init_config()
if (!VCWD_STAT(sapi_module.php_ini_path_override, &statbuf)) {
if (!((statbuf.st_mode & S_IFMT) == S_IFDIR)) {
fh.handle.fp = VCWD_FOPEN(sapi_module.php_ini_path_override, "r");
+ fh.filename = sapi_module.php_ini_path_override;
}
}
}
/* Search php.ini file in search path */
- if (!fh.handle.fp)
+ if (!fh.handle.fp) {
fh.handle.fp = php_fopen_with_path("php.ini", "r", php_ini_search_path, &php_ini_opened_path TSRMLS_CC);
+ fh.filename = php_ini_opened_path;
+ }
if (free_ini_search_path) {
efree(php_ini_search_path);
}
@@ -322,18 +325,18 @@ int php_init_config()
return SUCCESS; /* having no configuration file is ok */
}
fh.type = ZEND_HANDLE_FP;
- fh.filename = php_ini_opened_path;
zend_parse_ini_file(&fh, 1, php_config_ini_parser_cb, &extension_lists);
- if (php_ini_opened_path) {
+ {
zval tmp;
- Z_STRLEN(tmp) = strlen(php_ini_opened_path);
- Z_STRVAL(tmp) = zend_strndup(php_ini_opened_path, Z_STRLEN(tmp));
+ Z_STRLEN(tmp) = strlen(fh.filename);
+ Z_STRVAL(tmp) = zend_strndup(fh.filename, Z_STRLEN(tmp));
Z_TYPE(tmp) = IS_STRING;
zend_hash_update(&configuration_hash, "cfg_file_path", sizeof("cfg_file_path"), (void *) &tmp, sizeof(zval), NULL);
- efree(php_ini_opened_path);
+ if(php_ini_opened_path)
+ efree(php_ini_opened_path);
php_ini_opened_path = zend_strndup(Z_STRVAL(tmp), Z_STRLEN(tmp));
}