diff options
author | Andi Gutmans <andi@php.net> | 2000-04-02 19:45:02 +0000 |
---|---|---|
committer | Andi Gutmans <andi@php.net> | 2000-04-02 19:45:02 +0000 |
commit | d8e64d623ec7e72d2d63b8105da188fa91a3f21f (patch) | |
tree | 1ffda0e15537fc5a937b608094cf0781921f3f81 /main/php_virtual_cwd.c | |
parent | ce283e2326ea9b19eec3a47dd3565271974ec36e (diff) | |
download | php-git-d8e64d623ec7e72d2d63b8105da188fa91a3f21f.tar.gz |
- This version of chdir_file should be compatible with the Apache one.
Diffstat (limited to 'main/php_virtual_cwd.c')
-rw-r--r-- | main/php_virtual_cwd.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/main/php_virtual_cwd.c b/main/php_virtual_cwd.c index 820db5ce40..470c28a2b3 100644 --- a/main/php_virtual_cwd.c +++ b/main/php_virtual_cwd.c @@ -286,6 +286,24 @@ int virtual_chdir(char *path) return virtual_file_ex(&CWDG(cwd), path, php_is_dir_ok); } +int virtual_chdir_file(char *path) +{ + int length = strlen(path); + + if (length == 0) { + return 1; /* Can't CD to empty string */ + } + while(--length >= 0 && !IS_SLASH(path[length])) { + } + + if (length == -1) { + return virtual_chdir(path); + } + path[length] = DEFAULT_SLASH; + return virtual_chdir(path); +} + + int virtual_filepath(char *path, char **filepath) { cwd_state new_state; |