---- php-5.3.0/main/php_ini.c 2009-07-06 17:36:45.529879052 +0200
-+++ php-5.3.2/main/php_ini.c 2010-03-17 17:55:16.800313459 +0200
+--- php-5.4.0RC3/main/php_ini.c~ 2011-12-10 03:35:27.000000000 +0200
++++ php-5.4.0RC3/main/php_ini.c 2011-12-10 03:36:08.930154336 +0200
@@ -358,6 +358,11 @@
}
/* }}} */
+ fh.handle.fp = php_fopen_with_path("php.ini", "r", php_ini_search_path, &php_ini_opened_path TSRMLS_CC);
+ if (fh.handle.fp) {
+ fh.filename = php_ini_opened_path;
-+ PG(safe_mode) = safe_mode_state;
++ //PG(safe_mode) = safe_mode_state;
+ PG(open_basedir) = open_basedir;
+ fh.type = ZEND_HANDLE_FP;
+ zend_parse_ini_file(&fh, 1, ZEND_INI_SCANNER_NORMAL, (zend_ini_parser_cb_t) php_ini_parser_cb, &configuration_hash TSRMLS_CC);
-+ safe_mode_state = PG(safe_mode);
++ //safe_mode_state = PG(safe_mode);
+ open_basedir = PG(open_basedir);
-+ PG(safe_mode) = 0;
++ //PG(safe_mode) = 0;
+ PG(open_basedir) = NULL;
+ fh.handle.fp = NULL;
+ efree(php_ini_opened_path);
}
if (free_ini_search_path) {
-@@ -610,12 +625,14 @@
+@@ -645,13 +645,15 @@ int php_init_config(TSRMLS_D)
zend_llist scanned_ini_list;
zend_llist_element *element;
int l, total_l = 0;
+ const char *fmt = "%s:" PHP_CONFIG_FILE_PATH "/%s.d";
+ char *bufpath, *debpath, *endpath;
+ int lenpath;
- /* List of found ini files */
zend_llist_init(&scanned_ini_list, sizeof(char *), (llist_dtor_func_t) free_estring, 1);
-
- /* Split by paths_separator and load ini-files from all paths */
-- path_copy = estrdup(php_ini_scanned_path);
-+ path_copy = emalloc(strlen(php_ini_scanned_path) + strlen(fmt) + strlen(sapi_module.name));
-+ sprintf(path_copy, fmt, php_ini_scanned_path, sapi_module.name);
- ini_path = php_strtok_r(path_copy, paths_separator, &last);
+ memset(&fh2, 0, sizeof(fh2));
- while (ini_path != NULL) {
-@@ -636,7 +653,7 @@
- struct dirent **namelist;
- int ini_path_len = strlen(ini_path);
+- bufpath = estrdup(php_ini_scanned_path);
++ bufpath = emalloc(strlen(php_ini_scanned_path) + strlen(fmt) + strlen(sapi_module.name));
++ sprintf(bufpath, fmt, php_ini_scanned_path, sapi_module.name);
+ for (debpath = bufpath ; debpath ; debpath=endpath) {
+ endpath = strchr(debpath, DEFAULT_DIR_SEPARATOR);
+ if (endpath) {
+@@ -664,7 +666,7 @@ int php_init_config(TSRMLS_D)
+ }
+ lenpath = strlen(debpath);
-- if ((ndir = php_scandir(ini_path, &namelist, 0, php_alphasort)) > 0) {
-+ if ((ndir = php_scandir(ini_path, &namelist, 0, php_csort)) > 0) {
- memset(&fh2, 0, sizeof(fh2));
+- if (lenpath > 0 && (ndir = php_scandir(debpath, &namelist, 0, php_alphasort)) > 0) {
++ if (lenpath > 0 && (ndir = php_scandir(debpath, &namelist, 0, php_csort)) > 0) {
for (i = 0; i < ndir; i++) {
+
+