]> granicus.if.org Git - php/commitdiff
- use TSRMLS_CC instead of TSRMLS_FETCH in virtual_file_ex
authorPierre Joye <pajoye@php.net>
Mon, 30 Aug 2010 09:38:47 +0000 (09:38 +0000)
committerPierre Joye <pajoye@php.net>
Mon, 30 Aug 2010 09:38:47 +0000 (09:38 +0000)
TSRM/tsrm_virtual_cwd.c
TSRM/tsrm_virtual_cwd.h
UPGRADING
ext/zip/php_zip.c
main/fopen_wrappers.c
main/php_open_temporary_file.c

index 7a046ab51ad370cb9b0fbd002945e67926b0c52a..197948f598b1dc98543eff80854e12bdd9050794 100644 (file)
@@ -990,7 +990,7 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
 
 /* Resolve path relatively to state and put the real path into state */
 /* returns 0 for ok, 1 for error */
-CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func verify_path, int use_realpath) /* {{{ */
+CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func verify_path, int use_realpath TSRMLS_DC) /* {{{ */
 {
        int path_length = strlen(path);
        char resolved_path[MAXPATHLEN];
@@ -1000,7 +1000,6 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func
        int ret;
        int add_slash;
        void *tmp;
-       TSRMLS_FETCH();
 
        if (path_length == 0 || path_length >= MAXPATHLEN-1) {
 #ifdef TSRM_WIN32
@@ -1196,7 +1195,7 @@ verify:
 
 CWD_API int virtual_chdir(const char *path TSRMLS_DC) /* {{{ */
 {
-       return virtual_file_ex(&CWDG(cwd), path, php_is_dir_ok, CWD_REALPATH)?-1:0;
+       return virtual_file_ex(&CWDG(cwd), path, php_is_dir_ok, CWD_REALPATH TSRMLS_CC)?-1:0;
 }
 /* }}} */
 
@@ -1256,7 +1255,7 @@ CWD_API char *virtual_realpath(const char *path, char *real_path TSRMLS_DC) /* {
                new_state.cwd_length = 0;               
        }
 
-       if (virtual_file_ex(&new_state, path, NULL, CWD_REALPATH)==0) {
+       if (virtual_file_ex(&new_state, path, NULL, CWD_REALPATH TSRMLS_CC)==0) {
                int len = new_state.cwd_length>MAXPATHLEN-1?MAXPATHLEN-1:new_state.cwd_length;
 
                memcpy(real_path, new_state.cwd, len);
@@ -1278,7 +1277,7 @@ CWD_API int virtual_filepath_ex(const char *path, char **filepath, verify_path_f
        int retval;
 
        CWD_STATE_COPY(&new_state, &CWDG(cwd));
-       retval = virtual_file_ex(&new_state, path, verify_path, CWD_FILEPATH);
+       retval = virtual_file_ex(&new_state, path, verify_path, CWD_FILEPATH TSRMLS_CC);
 
        *filepath = new_state.cwd;
 
@@ -1303,7 +1302,7 @@ CWD_API FILE *virtual_fopen(const char *path, const char *mode TSRMLS_DC) /* {{{
        }
 
        CWD_STATE_COPY(&new_state, &CWDG(cwd));
-       if (virtual_file_ex(&new_state, path, NULL, CWD_FILEPATH)) {
+       if (virtual_file_ex(&new_state, path, NULL, CWD_FILEPATH TSRMLS_CC)) {
                CWD_STATE_FREE(&new_state);
                return NULL;
        }
@@ -1321,7 +1320,7 @@ CWD_API int virtual_access(const char *pathname, int mode TSRMLS_DC) /* {{{ */
        int ret;
        
        CWD_STATE_COPY(&new_state, &CWDG(cwd));
-       if (virtual_file_ex(&new_state, pathname, NULL, CWD_REALPATH)) {
+       if (virtual_file_ex(&new_state, pathname, NULL, CWD_REALPATH TSRMLS_CC)) {
                CWD_STATE_FREE(&new_state);
                return -1;
        }
@@ -1394,7 +1393,7 @@ CWD_API int virtual_utime(const char *filename, struct utimbuf *buf TSRMLS_DC) /
        int ret;
 
        CWD_STATE_COPY(&new_state, &CWDG(cwd));
-       if (virtual_file_ex(&new_state, filename, NULL, CWD_REALPATH)) {
+       if (virtual_file_ex(&new_state, filename, NULL, CWD_REALPATH TSRMLS_CC)) {
                CWD_STATE_FREE(&new_state);
                return -1;
        }
@@ -1417,7 +1416,7 @@ CWD_API int virtual_chmod(const char *filename, mode_t mode TSRMLS_DC) /* {{{ */
        int ret;
 
        CWD_STATE_COPY(&new_state, &CWDG(cwd));
-       if (virtual_file_ex(&new_state, filename, NULL, CWD_REALPATH)) {
+       if (virtual_file_ex(&new_state, filename, NULL, CWD_REALPATH TSRMLS_CC)) {
                CWD_STATE_FREE(&new_state);
                return -1;
        }
@@ -1436,7 +1435,7 @@ CWD_API int virtual_chown(const char *filename, uid_t owner, gid_t group, int li
        int ret;
 
        CWD_STATE_COPY(&new_state, &CWDG(cwd));
-       if (virtual_file_ex(&new_state, filename, NULL, CWD_REALPATH)) {
+       if (virtual_file_ex(&new_state, filename, NULL, CWD_REALPATH TSRMLS_CC)) {
                CWD_STATE_FREE(&new_state);
                return -1;
        }
@@ -1463,7 +1462,7 @@ CWD_API int virtual_open(const char *path TSRMLS_DC, int flags, ...) /* {{{ */
        int f;
 
        CWD_STATE_COPY(&new_state, &CWDG(cwd));
-       if (virtual_file_ex(&new_state, path, NULL, CWD_FILEPATH)) {
+       if (virtual_file_ex(&new_state, path, NULL, CWD_FILEPATH TSRMLS_CC)) {
                CWD_STATE_FREE(&new_state);
                return -1;
        }
@@ -1491,7 +1490,7 @@ CWD_API int virtual_creat(const char *path, mode_t mode TSRMLS_DC) /* {{{ */
        int f;
 
        CWD_STATE_COPY(&new_state, &CWDG(cwd));
-       if (virtual_file_ex(&new_state, path, NULL, CWD_FILEPATH)) {
+       if (virtual_file_ex(&new_state, path, NULL, CWD_FILEPATH TSRMLS_CC)) {
                CWD_STATE_FREE(&new_state);
                return -1;
        }
@@ -1510,14 +1509,14 @@ CWD_API int virtual_rename(char *oldname, char *newname TSRMLS_DC) /* {{{ */
        int retval;
 
        CWD_STATE_COPY(&old_state, &CWDG(cwd));
-       if (virtual_file_ex(&old_state, oldname, NULL, CWD_EXPAND)) {
+       if (virtual_file_ex(&old_state, oldname, NULL, CWD_EXPAND TSRMLS_CC)) {
                CWD_STATE_FREE(&old_state);
                return -1;
        }
        oldname = old_state.cwd;
 
        CWD_STATE_COPY(&new_state, &CWDG(cwd));
-       if (virtual_file_ex(&new_state, newname, NULL, CWD_EXPAND)) {
+       if (virtual_file_ex(&new_state, newname, NULL, CWD_EXPAND TSRMLS_CC)) {
                CWD_STATE_FREE(&old_state);
                CWD_STATE_FREE(&new_state);
                return -1;
@@ -1546,7 +1545,7 @@ CWD_API int virtual_stat(const char *path, struct stat *buf TSRMLS_DC) /* {{{ */
        int retval;
 
        CWD_STATE_COPY(&new_state, &CWDG(cwd));
-       if (virtual_file_ex(&new_state, path, NULL, CWD_REALPATH)) {
+       if (virtual_file_ex(&new_state, path, NULL, CWD_REALPATH TSRMLS_CC)) {
                CWD_STATE_FREE(&new_state);
                return -1;
        }
@@ -1565,7 +1564,7 @@ CWD_API int virtual_lstat(const char *path, struct stat *buf TSRMLS_DC) /* {{{ *
        int retval;
 
        CWD_STATE_COPY(&new_state, &CWDG(cwd));
-       if (virtual_file_ex(&new_state, path, NULL, CWD_EXPAND)) {
+       if (virtual_file_ex(&new_state, path, NULL, CWD_EXPAND TSRMLS_CC)) {
                CWD_STATE_FREE(&new_state);
                return -1;
        }
@@ -1584,7 +1583,7 @@ CWD_API int virtual_unlink(const char *path TSRMLS_DC) /* {{{ */
        int retval;
 
        CWD_STATE_COPY(&new_state, &CWDG(cwd));
-       if (virtual_file_ex(&new_state, path, NULL, CWD_EXPAND)) {
+       if (virtual_file_ex(&new_state, path, NULL, CWD_EXPAND TSRMLS_CC)) {
                CWD_STATE_FREE(&new_state);
                return -1;
        }
@@ -1602,7 +1601,7 @@ CWD_API int virtual_mkdir(const char *pathname, mode_t mode TSRMLS_DC) /* {{{ */
        int retval;
 
        CWD_STATE_COPY(&new_state, &CWDG(cwd));
-       if (virtual_file_ex(&new_state, pathname, NULL, CWD_FILEPATH)) {
+       if (virtual_file_ex(&new_state, pathname, NULL, CWD_FILEPATH TSRMLS_CC)) {
                CWD_STATE_FREE(&new_state);
                return -1;
        }
@@ -1623,7 +1622,7 @@ CWD_API int virtual_rmdir(const char *pathname TSRMLS_DC) /* {{{ */
        int retval;
 
        CWD_STATE_COPY(&new_state, &CWDG(cwd));
-       if (virtual_file_ex(&new_state, pathname, NULL, CWD_EXPAND)) {
+       if (virtual_file_ex(&new_state, pathname, NULL, CWD_EXPAND TSRMLS_CC)) {
                CWD_STATE_FREE(&new_state);
                return -1;
        }
@@ -1645,7 +1644,7 @@ CWD_API DIR *virtual_opendir(const char *pathname TSRMLS_DC) /* {{{ */
        DIR *retval;
 
        CWD_STATE_COPY(&new_state, &CWDG(cwd));
-       if (virtual_file_ex(&new_state, pathname, NULL, CWD_REALPATH)) {
+       if (virtual_file_ex(&new_state, pathname, NULL, CWD_REALPATH TSRMLS_CC)) {
                CWD_STATE_FREE(&new_state);
                return NULL;
        }
@@ -1777,7 +1776,7 @@ CWD_API char *tsrm_realpath(const char *path, char *real_path TSRMLS_DC) /* {{{
                new_state.cwd_length = 0;               
        }
 
-       if (virtual_file_ex(&new_state, path, NULL, CWD_REALPATH)) {
+       if (virtual_file_ex(&new_state, path, NULL, CWD_REALPATH TSRMLS_CC)) {
                free(new_state.cwd);
                return NULL;
        }
index 2be43a1a86590c69e2e1d34073b01c8f10f01067..1636ca6984d334ca4bde3cccfd12022cd9b1473f 100644 (file)
@@ -195,7 +195,7 @@ CWD_API int virtual_chown(const char *filename, uid_t owner, gid_t group, int li
 #define CWD_FILEPATH 1 /* resolve symlinks if file is exist otherwise expand */
 #define CWD_REALPATH 2 /* call realpath(), resolve symlinks. File must exist */
 
-CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func verify_path, int use_realpath);
+CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func verify_path, int use_realpath TSRMLS_DC);
 
 CWD_API char *tsrm_realpath(const char *path, char *real_path TSRMLS_DC);
 
index a0d86d0b3cc1eaf291278cae36022abd32a1ae7e..bd4b0dbfa6fb5215d37ff42ad33e2659359718d7 100755 (executable)
--- a/UPGRADING
+++ b/UPGRADING
@@ -28,7 +28,7 @@ UPGRADE NOTES - PHP X.Y
      h. New methods
      i. New class constants
      j. New hash algorithms
-
+13. Internals API changes
 
 ========================================
 1. Changes made to default configuration
@@ -258,3 +258,11 @@ UPGRADE NOTES - PHP X.Y
        - fnv132
        - fnv164
        - joaat
+
+========================
+13. Internal API changes
+========================
+
+virtual_file_ex takes now a TSRM context as last parameter:
+CWD_API int virtual_file_ex(cwd_state *state, const char *path, 
+ verify_path_func verify_path, int use_realpath TSRLS_DC);
index bd1275d0f2558330cfdbcd46b5200a42e285452f..5587b9a3be05048cb0e6c3ebe874eacab3de7b6c 100644 (file)
@@ -160,7 +160,7 @@ static int php_zip_extract_file(struct zip * za, char *dest, char *file, int fil
        /* Clean/normlize the path and then transform any path (absolute or relative)
                 to a path relative to cwd (../../mydir/foo.txt > mydir/foo.txt)
         */
-       virtual_file_ex(&new_state, file, NULL, CWD_EXPAND);
+       virtual_file_ex(&new_state, file, NULL, CWD_EXPAND TSRMLS_CC);
        path_cleaned =  php_zip_make_relative_path(new_state.cwd, new_state.cwd_length);
        path_cleaned_len = strlen(path_cleaned);
 
index 827e76817f9fd30d53400dcb6e0ff4f067b2e5fb..a0a32060429fa7a96002b9872f93e238f82927a0 100644 (file)
@@ -759,7 +759,7 @@ PHPAPI char *expand_filepath_ex(const char *filepath, char *real_path, const cha
        new_state.cwd = strdup(cwd);
        new_state.cwd_length = strlen(cwd);
 
-       if (virtual_file_ex(&new_state, filepath, NULL, CWD_FILEPATH)) {
+       if (virtual_file_ex(&new_state, filepath, NULL, CWD_FILEPATH TSRMLS_CC)) {
                free(new_state.cwd);
                return NULL;
        }
index cf17f27d66c6fa419df50f0846ab9fbe33f05b0b..7759b332611fd0eedd23194cc58b77dcf75f21ee 100644 (file)
@@ -127,7 +127,7 @@ static int php_do_open_temporary_file(const char *path, const char *pfx, char **
        new_state.cwd = strdup(cwd);
        new_state.cwd_length = strlen(cwd);
 
-       if (virtual_file_ex(&new_state, path, NULL, CWD_REALPATH)) {
+       if (virtual_file_ex(&new_state, path, NULL, CWD_REALPATH TSRMLS_CC)) {
                free(new_state.cwd);
                return -1;
        }