]> granicus.if.org Git - php/commitdiff
- Thanks to "Daniel Beulshausen" <daniel@php4win.de>
authorAndi Gutmans <andi@php.net>
Wed, 22 Nov 2000 04:59:32 +0000 (04:59 +0000)
committerAndi Gutmans <andi@php.net>
Wed, 22 Nov 2000 04:59:32 +0000 (04:59 +0000)
TSRM/tsrm_virtual_cwd.c
TSRM/tsrm_virtual_cwd.h

index 10f50509b97df2971eb2e8ff60187a45c0128c1b..7dca55fa642296f92038c72602e4eaea5d08c9b2 100644 (file)
@@ -442,7 +442,7 @@ CWD_API char *virtual_realpath(const char *path, char *real_path)
        CWD_STATE_COPY(&new_state, &CWDG(cwd));
        retval = virtual_file_ex(&new_state, path, NULL);
        
-       if(retval) {
+       if (!retval) {
                int len = new_state.cwd_length>MAXPATHLEN-1?MAXPATHLEN-1:new_state.cwd_length;
                memcpy(real_path, new_state.cwd, len);
                real_path[len] = '\0';
@@ -452,18 +452,24 @@ CWD_API char *virtual_realpath(const char *path, char *real_path)
        return NULL;
 }
 
-CWD_API int virtual_filepath(const char *path, char **filepath)
+CWD_API int virtual_filepath_ex(const char *path, char **filepath, verify_path_func verify_path)
 {
        cwd_state new_state;
        int retval;
        CWDLS_FETCH();
 
        CWD_STATE_COPY(&new_state, &CWDG(cwd));
-       retval = virtual_file_ex(&new_state, path, php_is_file_ok);
+       retval = virtual_file_ex(&new_state, path, verify_path);
 
        *filepath = new_state.cwd;
 
        return retval;
+
+}
+
+CWD_API int virtual_filepath(const char *path, char **filepath)
+{
+       return virtual_filepath_ex(path, filepath, php_is_file_ok);
 }
 
 CWD_API FILE *virtual_fopen(const char *path, const char *mode)
index 3a4753c7d39169a5ff8453335f5841e91c5ab8f5..7ea7aa4cbfcac1fba32c97b6b48659c468b876ba 100644 (file)
@@ -100,6 +100,7 @@ CWD_API char *virtual_getcwd(char *buf, size_t size);
 CWD_API int virtual_chdir(const char *path);
 CWD_API int virtual_chdir_file(const char *path, int (*p_chdir)(const char *path));
 CWD_API int virtual_filepath(const char *path, char **filepath);
+CWD_API int virtual_filepath_ex(const char *path, char **filepath, verify_path_func verify_path);
 CWD_API char *virtual_realpath(const char *path, char *real_path);
 CWD_API FILE *virtual_fopen(const char *path, const char *mode);
 CWD_API int virtual_open(const char *path, int flags, ...);