cvs: php4 /main php_ini.c

From: Date: Mon, 12 Aug 2002 05:37:03 +0000
Subject: cvs: php4 /main php_ini.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-13272@lists.php.net to get a copy of this message
pbannister Mon Aug 12 01:37:03 2002 EDT Modified files: /php4/main php_ini.c Log: Minor cleanups to path building and php*.ini search logic. Made path_seperator string static (which solves the lookup problems Sebastian saw). Index: php4/main/php_ini.c diff -u php4/main/php_ini.c:1.96 php4/main/php_ini.c:1.97 --- php4/main/php_ini.c:1.96 Mon Jul 29 08:17:34 2002 +++ php4/main/php_ini.c Mon Aug 12 01:37:03 2002 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_ini.c,v 1.96 2002/07/29 12:17:34 edink Exp $ */ +/* $Id: php_ini.c,v 1.97 2002/08/12 05:37:03 pbannister Exp $ */ /* Check CWD for php.ini */ #define INI_CHECK_CWD @@ -231,7 +231,7 @@ free_ini_search_path = 0; } else { char *default_location; - char paths_separator[] = { ZEND_PATHS_SEPARATOR, 0 }; + static const char paths_separator[] = { ZEND_PATHS_SEPARATOR, 0 }; php_ini_search_path = (char *) emalloc(MAXPATHLEN*3+strlen(env_location)+3+1); free_ini_search_path = 1; @@ -244,8 +244,10 @@ /* Add cwd */ #ifdef INI_CHECK_CWD if (strcmp(sapi_module.name, "cli")!=0) { + if (*php_ini_search_path) { + strcat(php_ini_search_path, paths_separator); + } strcat(php_ini_search_path, "."); - strcat(php_ini_search_path, paths_separator); } #endif @@ -269,28 +271,37 @@ if (separator_location) { *(separator_location+1) = 0; } + if (*php_ini_search_path) { + strcat(php_ini_search_path, paths_separator); + } strcat(php_ini_search_path, binary_location); - strcat(php_ini_search_path, paths_separator); efree(binary_location); } /* Add environment location */ if (env_location[0]) { + if (*php_ini_search_path) { + strcat(php_ini_search_path, paths_separator); + } strcat(php_ini_search_path, env_location); - strcat(php_ini_search_path, paths_separator); } /* Add default location */ #ifdef PHP_WIN32 default_location = (char *) emalloc(MAXPATHLEN+1); - if (!GetWindowsDirectory(default_location, MAXPATHLEN)) { - default_location[0]=0; + if (0 < GetWindowsDirectory(default_location, MAXPATHLEN)) { + if (*php_ini_search_path) { + strcat(php_ini_search_path, paths_separator); + } + strcat(php_ini_search_path, default_location); } - strcat(php_ini_search_path, default_location); efree(default_location); #else default_location = PHP_CONFIG_FILE_PATH; + if (*php_ini_search_path) { + strcat(php_ini_search_path, paths_separator); + } strcat(php_ini_search_path, default_location); #endif } @@ -310,15 +321,23 @@ } } } + /* Search php-%sapi-module-name%.ini file in search path */ + if (!fh.handle.fp) { + const char *fmt = "php-%s.ini"; + char *ini_fname=emalloc(strlen(fmt)+strlen(sapi_module.name)); + sprintf(ini_fname, fmt, sapi_module.name); + fh.handle.fp = php_fopen_with_path(ini_fname, "r", php_ini_search_path, &php_ini_opened_path TSRMLS_CC); + efree(ini_fname); + if (fh.handle.fp) { + fh.filename = php_ini_opened_path; + } + } /* Search php.ini file in search path */ if (!fh.handle.fp) { - char *ini_fname=emalloc(10+strlen(sapi_module.name)); - sprintf(ini_fname, "php-%s.ini", sapi_module.name); - if (!(fh.handle.fp = php_fopen_with_path(ini_fname, "r", php_ini_search_path, &php_ini_opened_path TSRMLS_CC))) { - fh.handle.fp = php_fopen_with_path("php.ini", "r", php_ini_search_path, &php_ini_opened_path TSRMLS_CC); + 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; } - efree(ini_fname); - fh.filename = php_ini_opened_path; } if (free_ini_search_path) { efree(php_ini_search_path);

« previous php.cvs (#13272) next »