From: Anatol Belski Date: Fri, 7 Apr 2017 19:12:52 +0000 (+0200) Subject: Switch to FindFirstFileEx with basic info level X-Git-Tag: php-7.2.0alpha1~157 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ad4ef13c5debaf078bc431a9e5fa54770771095b;p=php Switch to FindFirstFileEx with basic info level That omits querying of short names, thus improving perf. --- diff --git a/Zend/zend_virtual_cwd.c b/Zend/zend_virtual_cwd.c index f834fa3ad1..fd19892c62 100644 --- a/Zend/zend_virtual_cwd.c +++ b/Zend/zend_virtual_cwd.c @@ -812,7 +812,7 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i if (!pathw) { return -1; } - hFind = FindFirstFileW(pathw, &dataw); + hFind = FindFirstFileExW(pathw, FindExInfoBasic, &dataw, FindExSearchNameMatch, NULL, 0); if (INVALID_HANDLE_VALUE == hFind) { if (use_realpath == CWD_REALPATH) { /* file not found */ diff --git a/win32/readdir.c b/win32/readdir.c index 1031fe2ac2..6cde75ff2c 100644 --- a/win32/readdir.c +++ b/win32/readdir.c @@ -62,7 +62,7 @@ DIR *opendir(const char *dir) filespecw[index] = L'\0'; wcscat(filespecw, L"\\*"); - if ((handle = FindFirstFileW(filespecw, &(dp->fileinfo))) == INVALID_HANDLE_VALUE) { + if ((handle = FindFirstFileExW(filespecw, FindExInfoBasic, &(dp->fileinfo), FindExSearchNameMatch, NULL, 0)) == INVALID_HANDLE_VALUE) { DWORD err = GetLastError(); if (err == ERROR_NO_MORE_FILES || err == ERROR_FILE_NOT_FOUND) { dp->finished = 1; @@ -201,7 +201,7 @@ int rewinddir(DIR *dp) filespecw[index] = L'\0'; wcscat(filespecw, L"/*"); - if ((handle = FindFirstFileW(filespecw, &(dp->fileinfo))) == INVALID_HANDLE_VALUE) { + if ((handle = FindFirstFileExW(filespecw, FindExInfoBasic, &(dp->fileinfo), FindExSearchNameMatch, NULL, 0)) == INVALID_HANDLE_VALUE) { dp->finished = 1; }