Lines Matching refs:path

316 static inline zend_ulong realpath_cache_key(const char *path, size_t path_len) /* {{{ */  in realpath_cache_key()  argument
320 const char *bucket_key_start = tsrm_win32_get_path_sid_key(path, path_len, &bucket_key_len); in realpath_cache_key()
333 if (bucket_key_start != path) { in realpath_cache_key()
340 static inline zend_ulong realpath_cache_key(const char *path, size_t path_len) /* {{{ */ in realpath_cache_key() argument
343 const char *e = path + path_len; in realpath_cache_key()
345 for (h = Z_UL(2166136261); path < e;) { in realpath_cache_key()
347 h ^= *path++; in realpath_cache_key()
361 CWD_API void realpath_cache_del(const char *path, size_t path_len) /* {{{ */ in realpath_cache_del() argument
363 zend_ulong key = realpath_cache_key(path, path_len); in realpath_cache_del()
369 memcmp(path, (*bucket)->path, path_len) == 0) { in realpath_cache_del()
374 if(r->path == r->realpath) { in realpath_cache_del()
389 static inline void realpath_cache_add(const char *path, size_t path_len, const char *realpath, size… in realpath_cache_add() argument
395 memcmp(path, realpath, path_len) != 0) { in realpath_cache_add()
408 bucket->key = realpath_cache_key(path, path_len); in realpath_cache_add()
409 bucket->path = (char*)bucket + sizeof(realpath_cache_bucket); in realpath_cache_add()
410 memcpy(bucket->path, path, path_len+1); in realpath_cache_add()
413 bucket->realpath = bucket->path; in realpath_cache_add()
415 bucket->realpath = bucket->path + (path_len + 1); in realpath_cache_add()
435 static inline realpath_cache_bucket* realpath_cache_find(const char *path, size_t path_len, time_t … in realpath_cache_find() argument
437 zend_ulong key = realpath_cache_key(path, path_len); in realpath_cache_find()
447 if(r->path == r->realpath) { in realpath_cache_find()
454 memcmp(path, (*bucket)->path, path_len) == 0) { in realpath_cache_find()
464 CWD_API realpath_cache_bucket* realpath_cache_lookup(const char *path, size_t path_len, time_t t) /… in realpath_cache_lookup() argument
466 return realpath_cache_find(path, path_len, t); in realpath_cache_lookup()
489 static size_t tsrm_realpath_r(char *path, size_t start, size_t len, int *ll, time_t *t, int use_rea… in tsrm_realpath_r() argument
518 while (i > start && !IS_SLASH(path[i-1])) { in tsrm_realpath_r()
524 (i + 1 == len && path[i] == '.')) { in tsrm_realpath_r()
529 } else if (i + 2 == len && path[i] == '.' && path[i+1] == '.') { in tsrm_realpath_r()
538 j = tsrm_realpath_r(path, start, i-1, ll, t, use_realpath, 1, NULL); in tsrm_realpath_r()
542 while (j > start && !IS_SLASH(path[j])) { in tsrm_realpath_r()
548 if (j == 0 && path[0] == '.' && path[1] == '.' && in tsrm_realpath_r()
549 IS_SLASH(path[2])) { in tsrm_realpath_r()
550 path[3] = '.'; in tsrm_realpath_r()
551 path[4] = '.'; in tsrm_realpath_r()
552 path[5] = DEFAULT_SLASH; in tsrm_realpath_r()
555 path[j+1] == '.' && path[j+2] == '.' && in tsrm_realpath_r()
556 IS_SLASH(path[j+3])) { in tsrm_realpath_r()
558 path[j++] = '.'; in tsrm_realpath_r()
559 path[j++] = '.'; in tsrm_realpath_r()
560 path[j] = DEFAULT_SLASH; in tsrm_realpath_r()
565 path[0] = '.'; in tsrm_realpath_r()
566 path[1] = '.'; in tsrm_realpath_r()
567 path[2] = DEFAULT_SLASH; in tsrm_realpath_r()
573 path[len] = 0; in tsrm_realpath_r()
582 if ((bucket = realpath_cache_find(path, len, *t)) != NULL) { in tsrm_realpath_r()
590 memcpy(path, bucket->realpath, bucket->realpath_len + 1); in tsrm_realpath_r()
600 pathw = php_win32_ioutil_any_to_w(path); in tsrm_realpath_r()
620 memcpy(tmp, path, len+1); in tsrm_realpath_r()
624 !(IS_UNC_PATH(path, len) && len >= 3 && path[2] != '?') && in tsrm_realpath_r()
777 memcpy(substitutename, path, len + 1); in tsrm_realpath_r()
812 *(path + bufindex) = *(tmp2 + bufindex); in tsrm_realpath_r()
815 *(path + bufindex) = 0; in tsrm_realpath_r()
825 fprintf(stderr, "resolved: %s ", path); in tsrm_realpath_r()
835 pathw = php_win32_ioutil_any_to_w(path); in tsrm_realpath_r()
848 if (!((j == 3) && (path[1] == ':') && (path[2] == '\\'))) { in tsrm_realpath_r()
850 j = tsrm_realpath_r(path, 0, j, ll, t, 0, is_dir, &directory); in tsrm_realpath_r()
865 memmove(path+i, path, j+1); in tsrm_realpath_r()
866 memcpy(path, tmp, i-1); in tsrm_realpath_r()
867 path[i-1] = DEFAULT_SLASH; in tsrm_realpath_r()
868 j = tsrm_realpath_r(path, start, i + j, ll, t, use_realpath, is_dir, &directory); in tsrm_realpath_r()
892 if (save && php_sys_lstat(path, &st) < 0) { in tsrm_realpath_r()
902 memcpy(tmp, path, len+1); in tsrm_realpath_r()
905 if (++(*ll) > LINK_MAX || (j = (size_t)php_sys_readlink(tmp, path, MAXPATHLEN)) == (size_t)-1) { in tsrm_realpath_r()
910 path[j] = 0; in tsrm_realpath_r()
911 if (IS_ABSOLUTE_PATH(path, j)) { in tsrm_realpath_r()
912 j = tsrm_realpath_r(path, 1, j, ll, t, use_realpath, is_dir, &directory); in tsrm_realpath_r()
922 memmove(path+i, path, j+1); in tsrm_realpath_r()
923 memcpy(path, tmp, i-1); in tsrm_realpath_r()
924 path[i-1] = DEFAULT_SLASH; in tsrm_realpath_r()
925 j = tsrm_realpath_r(path, start, i + j, ll, t, use_realpath, is_dir, &directory); in tsrm_realpath_r()
951 j = tsrm_realpath_r(path, start, i-1, ll, t, save ? CWD_FILEPATH : use_realpath, 1, NULL); in tsrm_realpath_r()
953 path[j++] = DEFAULT_SLASH; in tsrm_realpath_r()
971 memcpy(path+j, tmp_path, i+1); in tsrm_realpath_r()
976 memcpy(path+j, tmp+i, len-i+1); in tsrm_realpath_r()
985 memcpy(path+j, tmp+i, len-i+1); in tsrm_realpath_r()
992 realpath_cache_add(tmp, len, path, j, directory, *t); in tsrm_realpath_r()
1007 CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func verify_path, int u… in virtual_file_ex() argument
1009 size_t path_length = strlen(path); in virtual_file_ex()
1028 fprintf(stderr,"cwd = %s path = %s\n", state->cwd, path); in virtual_file_ex()
1034 if (!IS_ABSOLUTE_PATH(path, path_length)) { in virtual_file_ex()
1038 memcpy(resolved_path , path, path_length + 1); in virtual_file_ex()
1043 if (IS_SLASH(path[0])) { in virtual_file_ex()
1077 memcpy(resolved_path + state_cwd_length, path, path_length + 1); in virtual_file_ex()
1081 memcpy(resolved_path + state_cwd_length + 1, path, path_length + 1); in virtual_file_ex()
1087 if (path_length > 2 && path[1] == ':' && !IS_SLASH(path[2])) { in virtual_file_ex()
1088 resolved_path[0] = path[0]; in virtual_file_ex()
1091 memcpy(resolved_path + 3, path + 2, path_length - 1); in virtual_file_ex()
1095 memcpy(resolved_path, path, path_length + 1); in virtual_file_ex()
1203 CWD_API zend_result virtual_chdir(const char *path) /* {{{ */ in virtual_chdir() argument
1205 return virtual_file_ex(&CWDG(cwd), path, php_is_dir_ok, CWD_REALPATH) ? FAILURE : SUCCESS; in virtual_chdir()
1211 CWD_API int virtual_chdir_file(const char *path, int (*p_chdir)(const char *path)) /* {{{ */ in virtual_chdir_file() argument
1213 size_t length = strlen(path); in virtual_chdir_file()
1221 while(--length < SIZE_MAX && !IS_SLASH(path[length])) { in virtual_chdir_file()
1230 …if (length == COPY_WHEN_ABSOLUTE(path) && IS_ABSOLUTE_PATH(path, length+1)) { /* Also use trailing… in virtual_chdir_file()
1234 memcpy(temp, path, length); in virtual_chdir_file()
1245 CWD_API char *virtual_realpath(const char *path, char *real_path) /* {{{ */ in virtual_realpath() argument
1252 if (!*path) { in virtual_realpath()
1257 path = cwd; in virtual_realpath()
1259 } else if (!IS_ABSOLUTE_PATH(path, strlen(path))) { in virtual_realpath()
1267 if (virtual_file_ex(&new_state, path, NULL, CWD_REALPATH)==0) { in virtual_realpath()
1283 CWD_API int virtual_filepath_ex(const char *path, char **filepath, verify_path_func verify_path) /*… in virtual_filepath_ex() argument
1289 retval = virtual_file_ex(&new_state, path, verify_path, CWD_FILEPATH); in virtual_filepath_ex()
1299 CWD_API int virtual_filepath(const char *path, char **filepath) /* {{{ */ in virtual_filepath() argument
1301 return virtual_filepath_ex(path, filepath, php_is_file_ok); in virtual_filepath()
1305 CWD_API FILE *virtual_fopen(const char *path, const char *mode) /* {{{ */ in virtual_fopen() argument
1310 if (path[0] == '\0') { /* Fail to open empty path */ in virtual_fopen()
1315 if (virtual_file_ex(&new_state, path, NULL, CWD_EXPAND)) { in virtual_fopen()
1441 CWD_API int virtual_open(const char *path, int flags, ...) /* {{{ */ in virtual_open() argument
1447 if (virtual_file_ex(&new_state, path, NULL, CWD_FILEPATH)) { in virtual_open()
1477 CWD_API int virtual_creat(const char *path, mode_t mode) /* {{{ */ in virtual_creat() argument
1483 if (virtual_file_ex(&new_state, path, NULL, CWD_FILEPATH)) { in virtual_creat()
1532 CWD_API int virtual_stat(const char *path, zend_stat_t *buf) /* {{{ */ in virtual_stat() argument
1538 if (virtual_file_ex(&new_state, path, NULL, CWD_REALPATH)) { in virtual_stat()
1550 CWD_API int virtual_lstat(const char *path, zend_stat_t *buf) /* {{{ */ in virtual_lstat() argument
1556 if (virtual_file_ex(&new_state, path, NULL, CWD_EXPAND)) { in virtual_lstat()
1568 CWD_API int virtual_unlink(const char *path) /* {{{ */ in virtual_unlink() argument
1574 if (virtual_file_ex(&new_state, path, NULL, CWD_EXPAND)) { in virtual_unlink()
1717 CWD_API char *tsrm_realpath(const char *path, char *real_path) /* {{{ */ in tsrm_realpath() argument
1723 if (!*path) { in tsrm_realpath()
1728 path = cwd; in tsrm_realpath()
1730 } else if (!IS_ABSOLUTE_PATH(path, strlen(path)) && in tsrm_realpath()
1740 if (virtual_file_ex(&new_state, path, NULL, CWD_REALPATH)) { in tsrm_realpath()