From: Dmitry Stogov Date: Tue, 23 Oct 2007 05:57:13 +0000 (+0000) Subject: Fixed realpath cache for existent file with CWD_FILEPATH flag on win32 X-Git-Tag: RELEASE_2_0_0a1~1557 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cb610d48acf49acbebfdbe72f17f35176bd4db62;p=php Fixed realpath cache for existent file with CWD_FILEPATH flag on win32 --- diff --git a/TSRM/tsrm_virtual_cwd.c b/TSRM/tsrm_virtual_cwd.c index dedd854e5b..adf5510d06 100644 --- a/TSRM/tsrm_virtual_cwd.c +++ b/TSRM/tsrm_virtual_cwd.c @@ -489,6 +489,9 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func int ret; int use_cache; int use_relative_path = 0; +#ifdef TSRM_WIN32 + int is_unc; +#endif TSRMLS_FETCH(); use_cache = ((use_realpath != CWD_EXPAND) && CWDG(realpath_cache_size_limit)); @@ -573,9 +576,6 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func char *ptr, *path_copy, *free_path; char *tok; int ptr_length; -#ifdef TSRM_WIN32 - int is_unc; -#endif no_realpath: #ifdef TSRM_WIN32 @@ -738,7 +738,12 @@ no_realpath: } } + /* Store existent file in realpath cache. */ +#ifdef TSRM_WIN32 + if (use_cache && !is_unc) { +#else if (use_cache && (use_realpath == CWD_REALPATH)) { +#endif realpath_cache_add(path, path_length, state->cwd, state->cwd_length, t TSRMLS_CC); }