]> git.pld-linux.org Git - packages/php.git/commitdiff
- restore sapi.d support deadbranch-1.9.2
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Mon, 6 Jul 2009 15:49:41 +0000 (15:49 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    php-sapi-ini-file.patch -> 1.9.2.2

php-sapi-ini-file.patch

index 8c1c85b0b3cf5a2898a5a09ef37eed30cd4756c6..3cc8c6f76f1e3d500ef7a7e4341e03255c074479 100644 (file)
---- php-src/main/php_ini.c     2009/05/18 21:28:42     1.173
-+++ php-src/main/php_ini.c     2009/06/27 15:22:06     1.174
-@@ -349,7 +349,8 @@
-       char *open_basedir;
-       int free_ini_search_path = 0;
-       zend_file_handle fh;
--
-+      static const char paths_separator[] = { ZEND_PATHS_SEPARATOR, 0 };
-+      
-       if (zend_hash_init(&configuration_hash, 0, NULL, (dtor_func_t) config_zval_dtor, 1) == FAILURE) {
-               return FAILURE;
-       }
-@@ -372,7 +373,6 @@
-               char *default_location;
-               char *env_location;
-               char *binary_location;
--              static const char paths_separator[] = { ZEND_PATHS_SEPARATOR, 0 };
- #ifdef PHP_WIN32
-               char *reg_location;
- #endif
-@@ -608,72 +608,83 @@
-       /* Scan and parse any .ini files found in scan path if path not empty. */
-       if (!sapi_module.php_ini_ignore && php_ini_scanned_path_len) {
--              struct dirent **namelist;
-               int ndir, i;
-               struct stat sb;
-               char ini_file[MAXPATHLEN];
--              char *p;
-+              char *p, *last, *path_copy, *ini_path = NULL;
-               zend_file_handle fh;
+--- php-5.3.0/main/php_ini.c.org       2009-07-06 17:32:30.309904482 +0200
++++ php-5.3.0/main/php_ini.c   2009-07-06 17:36:45.529879052 +0200
+@@ -620,12 +620,14 @@
                zend_llist scanned_ini_list;
                zend_llist_element *element;
                int l, total_l = 0;
++              const char *fmt = "%s:" PHP_CONFIG_FILE_PATH "/%s.d";
+               /* 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);
  
--              /* Reset active ini section */
--              RESET_ACTIVE_INI_HASH();
--
--              if ((ndir = php_scandir(php_ini_scanned_path, &namelist, 0, php_alphasort)) > 0) {
--                      zend_llist_init(&scanned_ini_list, sizeof(char *), (llist_dtor_func_t) free_estring, 1);
--                      memset(&fh, 0, sizeof(fh));
--
--                      for (i = 0; i < ndir; i++) {
--
--                              /* check for any file with .ini extension */
--                              if (!(p = strrchr(namelist[i]->d_name, '.')) || (p && strcmp(p, ".ini"))) {
--                                      free(namelist[i]);
--                                      continue;
--                              }
--                              if (IS_SLASH(php_ini_scanned_path[php_ini_scanned_path_len - 1])) {
--                                      snprintf(ini_file, MAXPATHLEN, "%s%s", php_ini_scanned_path, namelist[i]->d_name);
--                              } else {
--                                      snprintf(ini_file, MAXPATHLEN, "%s%c%s", php_ini_scanned_path, DEFAULT_SLASH, namelist[i]->d_name);
--                              }
--                              if (VCWD_STAT(ini_file, &sb) == 0) {
--                                      if (S_ISREG(sb.st_mode)) {
--                                              if ((fh.handle.fp = VCWD_FOPEN(ini_file, "r"))) {
--                                                      fh.filename = ini_file;
--                                                      fh.type = ZEND_HANDLE_FP;
--
--                                                      if (zend_parse_ini_file(&fh, 1, ZEND_INI_SCANNER_NORMAL, (zend_ini_parser_cb_t) php_ini_parser_cb, &configuration_hash TSRMLS_CC) == SUCCESS) {
--                                                              /* Here, add it to the list of ini files read */
--                                                              l = strlen(ini_file);
--                                                              total_l += l + 2;
--                                                              p = estrndup(ini_file, l);
--                                                              zend_llist_add_element(&scanned_ini_list, &p);
-+              /* 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);
-+              ini_path  = php_strtok_r(path_copy, paths_separator, &last);
-+
-+              while (ini_path != NULL) {
-+                      struct dirent **namelist;
-+                      int ini_path_len = strlen(ini_path);
-+
-+                      if ((ndir = php_scandir(ini_path, &namelist, 0, php_alphasort)) > 0) {
-+                              memset(&fh, 0, sizeof(fh));
-+
-+                              for (i = 0; i < ndir; i++) {
-+                                      /* check for any file with .ini extension */
-+                                      if (!(p = strrchr(namelist[i]->d_name, '.')) || (p && strcmp(p, ".ini"))) {
-+                                              free(namelist[i]);
-+                                              continue;
-+                                      }
-+                                      if (IS_SLASH(ini_path[ini_path_len - 1])) {
-+                                              snprintf(ini_file, MAXPATHLEN, "%s%s", ini_path, namelist[i]->d_name);
-+                                      } else {
-+                                              snprintf(ini_file, MAXPATHLEN, "%s%c%s", ini_path, DEFAULT_SLASH, namelist[i]->d_name);
-+                                      }                       
-+                                      if (VCWD_STAT(ini_file, &sb) == 0) {
-+                                              if (S_ISREG(sb.st_mode)) {
-+                                                      if ((fh.handle.fp = VCWD_FOPEN(ini_file, "r"))) {
-+                                                              fh.filename = ini_file;
-+                                                              fh.type = ZEND_HANDLE_FP;
-+                                                              
-+                                                              /* Reset active ini section */
-+                                                              RESET_ACTIVE_INI_HASH();
-+
-+                                                              if (zend_parse_ini_file(&fh, 1, ZEND_INI_SCANNER_NORMAL, (zend_ini_parser_cb_t) php_ini_parser_cb, &configuration_hash TSRMLS_CC) == SUCCESS) {
-+                                                                      /* Here, add it to the list of ini files read */
-+                                                                      l = strlen(ini_file);
-+                                                                      total_l += l + 2;
-+                                                                      p = estrndup(ini_file, l);
-+                                                                      zend_llist_add_element(&scanned_ini_list, &p);
-+                                                              }
-                                                       }
-                                               }
-                                       }
-+                                      free(namelist[i]);
-                               }
--                              free(namelist[i]);
-+                              free(namelist);
-                       }
--                      free(namelist);
--
--                      if (total_l) {
--                              int php_ini_scanned_files_len = (php_ini_scanned_files) ? strlen(php_ini_scanned_files) + 1 : 0;
--                              php_ini_scanned_files = (char *) realloc(php_ini_scanned_files, php_ini_scanned_files_len + total_l + 1);
--                              if (!php_ini_scanned_files_len) {
--                                      *php_ini_scanned_files = '\0';
--                              }
--                              total_l += php_ini_scanned_files_len;
--                              for (element = scanned_ini_list.head; element; element = element->next) {
--                                      if (php_ini_scanned_files_len) {
--                                              strlcat(php_ini_scanned_files, ",\n", total_l);
--                                      }
--                                      strlcat(php_ini_scanned_files, *(char **)element->data, total_l);
--                                      strlcat(php_ini_scanned_files, element->next ? ",\n" : "\n", total_l);
-+                      ini_path = php_strtok_r(NULL, paths_separator, &last);
-+              }
-+                      
-+              if (total_l) {
-+                      int php_ini_scanned_files_len = (php_ini_scanned_files) ? strlen(php_ini_scanned_files) + 1 : 0;
-+                      php_ini_scanned_files = (char *) realloc(php_ini_scanned_files, php_ini_scanned_files_len + total_l + 1);
-+                      if (!php_ini_scanned_files_len) {
-+                              *php_ini_scanned_files = '\0';
-+                      }
-+                      total_l += php_ini_scanned_files_len;
-+                      for (element = scanned_ini_list.head; element; element = element->next) {
-+                              if (php_ini_scanned_files_len) {
-+                                      strlcat(php_ini_scanned_files, ",\n", total_l);
-                               }
-+                              strlcat(php_ini_scanned_files, *(char **)element->data, total_l);
-+                              strlcat(php_ini_scanned_files, element->next ? ",\n" : "\n", total_l);
-                       }
--                      zend_llist_destroy(&scanned_ini_list);
-               }
-+              efree(path_copy);
-+              zend_llist_destroy(&scanned_ini_list);
-       } else {
-               /* Make sure an empty php_ini_scanned_path ends up as NULL */
-               php_ini_scanned_path = NULL;
+               while (ini_path != NULL) {
This page took 0.099801 seconds and 4 git commands to generate.