cvs: php4 /main php_ini.c
| From: | Preston L. Bannister | 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);