summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndi Gutmans <andi@php.net>2000-04-02 19:04:59 +0000
committerAndi Gutmans <andi@php.net>2000-04-02 19:04:59 +0000
commit6a2da70f9416590600d212d617363364fc4ecdb6 (patch)
treed1589b6c7f9165e8855f4d0a03ba5544dc0a45be
parenteefbe904b2906826668c76762eaa02dd552fcbbb (diff)
downloadphp-git-6a2da70f9416590600d212d617363364fc4ecdb6.tar.gz
- Virtual cwd compiles now (need to uncomment #define in php.h for it to
be enbaled right now). It seems to work very basic stuff
-rw-r--r--main/SAPI.c4
-rw-r--r--main/php.h2
-rw-r--r--main/php_virtual_cwd.c2
3 files changed, 7 insertions, 1 deletions
diff --git a/main/SAPI.c b/main/SAPI.c
index ba3f1af251..85892b3501 100644
--- a/main/SAPI.c
+++ b/main/SAPI.c
@@ -80,6 +80,10 @@ SAPI_API void sapi_startup(sapi_module_struct *sf)
sapi_globals_ctor(&sapi_globals);
#endif
+#ifdef VIRTUAL_DIR
+ virtual_cwd_startup(); /* Could use shutdown to free the main cwd but it would just slow it down for CGI */
+#endif
+
reentrancy_startup();
php_global_startup_internal_extensions();
diff --git a/main/php.h b/main/php.h
index 0d84b4d7e8..76494cbdd8 100644
--- a/main/php.h
+++ b/main/php.h
@@ -284,8 +284,10 @@ PHPAPI int cfg_get_string(char *varname, char **result);
#define PUTS_H(str) php_header_write((str), strlen((str)))
#define PUTC_H(c) (php_header_write(&(c), 1), (c))
+/* #define VIRTUAL_DIR */
/* Virtual current directory support */
#ifdef VIRTUAL_DIR
+#include "php_virtual_cwd.h"
#define PHP_GETCWD(buff, size) virtual_getcwd(buff,size)
#define PHP_FOPEN(path, mode) virtual_fopen(path, mode)
#define PHP_CHDIR(path) virtual_chdir(path)
diff --git a/main/php_virtual_cwd.c b/main/php_virtual_cwd.c
index efb0ac8cf8..1c3398859b 100644
--- a/main/php_virtual_cwd.c
+++ b/main/php_virtual_cwd.c
@@ -258,7 +258,7 @@ int virtual_file_ex(cwd_state *state, char *path, verify_path_func verify_path)
ptr = strtok_r(NULL, TOKENIZER_STRING, &tok);
}
- if (verify_path && !verify_path(state)) {
+ if (verify_path && verify_path(state)) {
free(state->cwd);
*state = *old_state;