summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main/php_virtual_cwd.c18
-rw-r--r--main/php_virtual_cwd.h2
2 files changed, 10 insertions, 10 deletions
diff --git a/main/php_virtual_cwd.c b/main/php_virtual_cwd.c
index 8cb79a8b56..9514ab49f2 100644
--- a/main/php_virtual_cwd.c
+++ b/main/php_virtual_cwd.c
@@ -211,10 +211,10 @@ CWD_API char *virtual_getcwd(char *buf, size_t size)
/* 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 @@ CWD_API int virtual_file_ex(cwd_state *state, char *path, verify_path_func verif
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 @@ CWD_API int virtual_file_ex(cwd_state *state, char *path, verify_path_func verif
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 @@ CWD_API int virtual_filepath(char *path, char **filepath)
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;
diff --git a/main/php_virtual_cwd.h b/main/php_virtual_cwd.h
index 52d828574e..afe8da00b0 100644
--- a/main/php_virtual_cwd.h
+++ b/main/php_virtual_cwd.h
@@ -32,7 +32,7 @@ CWD_API char *virtual_getcwd(char *buf, size_t size);
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;