cvs: /php4 php_virtual_cwd.c php_virtual_cwd.h
| From: | Zeev Suraski | Date: | Fri, 07 Apr 2000 21:16:39 +0000 |
| Subject: | cvs: /php4 php_virtual_cwd.c php_virtual_cwd.h | ||
| Groups: | php.version4 | ||
| Request: | Send a blank email to php-version4+get-13320@lists.php.net to get a copy of this message | ||
zeev Fri Apr 7 14:16:39 2000 EDT
Modified files:
/php4 php_virtual_cwd.c php_virtual_cwd.h
Log:
- Fix const declaratirs in virtual cwd
@- Fixed a problem in include_once() with non constant arguments (Andi & Zeev,
@ Zend Engine)
Index: php4/php_virtual_cwd.c
diff -u php4/php_virtual_cwd.c:1.28 php4/php_virtual_cwd.c:1.29
--- php4/php_virtual_cwd.c:1.28 Wed Apr 5 13:50:57 2000
+++ php4/php_virtual_cwd.c Fri Apr 7 14:16:08 2000
@@ -211,10 +211,10 @@
/* returns 0 for ok, 1 for error */
-CWD_API int virtual_file_ex(cwd_state *state, char *path, verify_path_func verify_path)
+static int virtual_file_ex(cwd_state *state, const char *path, verify_path_func verify_path)
{
int path_length = strlen(path);
- char *ptr = path;
+ char *ptr, *path_copy;
char *tok = NULL;
int ptr_length;
cwd_state *old_state;
@@ -226,16 +226,16 @@
if (path_length == 0)
return (0);
- free_path = path = estrndup(path, path_length);
+ free_path = path_copy = estrndup(path, path_length);
old_state = (cwd_state *) malloc(sizeof(cwd_state));
CWD_STATE_COPY(old_state, state);
- if (IS_ABSOLUTE_PATH(path, path_length)) {
+ if (IS_ABSOLUTE_PATH(path_copy, path_length)) {
copy_amount = COPY_WHEN_ABSOLUTE;
is_absolute = 1;
#ifdef ZEND_WIN32
- } else if(IS_SLASH(path[0])) {
+ } else if(IS_SLASH(path_copy[0])) {
copy_amount = 2;
#endif
}
@@ -244,18 +244,18 @@
state->cwd = (char *) realloc(state->cwd, copy_amount + 1);
if (copy_amount) {
if (is_absolute) {
- memcpy(state->cwd, path, copy_amount);
+ memcpy(state->cwd, path_copy, copy_amount);
} else {
memcpy(state->cwd, old_state->cwd, copy_amount);
}
}
state->cwd[copy_amount] = '\0';
state->cwd_length = copy_amount;
- path += copy_amount;
+ path_copy += copy_amount;
}
- ptr = strtok_r(path, TOKENIZER_STRING, &tok);
+ ptr = strtok_r(path_copy, TOKENIZER_STRING, &tok);
while (ptr) {
ptr_length = strlen(ptr);
@@ -344,7 +344,7 @@
return retval;
}
-CWD_API FILE *virtual_fopen(char *path, const char *mode)
+CWD_API FILE *virtual_fopen(const char *path, const char *mode)
{
cwd_state new_state;
FILE *f;
Index: php4/php_virtual_cwd.h
diff -u php4/php_virtual_cwd.h:1.9 php4/php_virtual_cwd.h:1.10
--- php4/php_virtual_cwd.h:1.9 Wed Apr 5 12:02:28 2000
+++ php4/php_virtual_cwd.h Fri Apr 7 14:16:08 2000
@@ -32,7 +32,7 @@
CWD_API int virtual_chdir(char *path);
CWD_API int virtual_chdir_file(char *path);
CWD_API int virtual_filepath(char *path, char **filepath);
-CWD_API FILE *virtual_fopen(char *path, const char *mode);
+CWD_API FILE *virtual_fopen(const char *path, const char *mode);
ZEND_BEGIN_MODULE_GLOBALS(cwd)
cwd_state cwd;