]> granicus.if.org Git - php/commitdiff
Enable setting php.ini path via the registry
authorStanislav Malyshev <stas@php.net>
Sun, 19 Oct 2003 10:39:27 +0000 (10:39 +0000)
committerStanislav Malyshev <stas@php.net>
Sun, 19 Oct 2003 10:39:27 +0000 (10:39 +0000)
main/php_ini.c

index b6e8b87dd21ac4bcebbb438640619fcfa1148958..2a413fbaaba09676300ece049d9d44057511120b 100644 (file)
@@ -31,6 +31,9 @@
 #include "SAPI.h"
 #include "php_main.h"
 #include "php_scandir.h"
+#ifdef PHP_WIN32
+#include "win32/php_registry.h"
+#endif
 
 #if HAVE_SCANDIR && HAVE_ALPHASORT && HAVE_DIRENT_H
 #include <dirent.h>
@@ -297,11 +300,23 @@ int php_init_config()
        } else {
                char *default_location;
                static const char paths_separator[] = { ZEND_PATHS_SEPARATOR, 0 };
+               char *reg_location;
 
-               php_ini_search_path = (char *) emalloc(MAXPATHLEN * 3 + strlen(env_location) + 3 + 1);
+               php_ini_search_path = (char *) emalloc(MAXPATHLEN * 4 + strlen(env_location) + 3 + 1);
                free_ini_search_path = 1;
                php_ini_search_path[0] = 0;
 
+#ifdef PHP_WIN32
+               /* Add registry location */
+               reg_location = GetIniPathFromRegistry();
+               if(reg_location != NULL) {
+                       if (*php_ini_search_path) {
+                               strcat(php_ini_search_path, paths_separator);
+                       }
+                       strcat(php_ini_search_path, reg_location);
+                       efree(reg_location);
+               }
+#endif
                /*
                 * Prepare search path
                 */