Skip to content

Commit

Permalink
Speedup file listing on windows
Browse files Browse the repository at this point in the history
  • Loading branch information
Lizzie841 committed Apr 9, 2024
1 parent 5f78601 commit 6636ca7
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions src/filesystem/simple_fs_win.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ std::vector<unopened_file> list_files(directory const& dir, native_char const* e
}

WIN32_FIND_DATAW find_result;
auto find_handle = FindFirstFileW(appended_path.c_str(), &find_result);
auto find_handle = FindFirstFileExW(appended_path.c_str(), FindExInfoBasic, &find_result, FindExSearchNameMatch, NULL, FIND_FIRST_EX_LARGE_FETCH);
if(find_handle != INVALID_HANDLE_VALUE) {
do {
if(!(find_result.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) && !impl::contains_non_ascii(find_result.cFileName)) {
Expand All @@ -183,7 +183,7 @@ std::vector<unopened_file> list_files(directory const& dir, native_char const* e
} else {
auto const appended_path = dir.relative_path + NATIVE("\\*") + extension;
WIN32_FIND_DATAW find_result;
auto find_handle = FindFirstFileW(appended_path.c_str(), &find_result);
auto find_handle = FindFirstFileExW(appended_path.c_str(), FindExInfoBasic, &find_result, FindExSearchNameMatch, NULL, FIND_FIRST_EX_LARGE_FETCH);
if(find_handle != INVALID_HANDLE_VALUE) {
do {
if(!(find_result.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) && !impl::contains_non_ascii(find_result.cFileName)) {
Expand All @@ -210,7 +210,7 @@ std::vector<directory> list_subdirectories(directory const& dir) {
continue;
}
WIN32_FIND_DATAW find_result;
auto find_handle = FindFirstFileW(appended_path.c_str(), &find_result);
auto find_handle = FindFirstFileExW(appended_path.c_str(), FindExInfoBasic, &find_result, FindExSearchNameMatch, NULL, FIND_FIRST_EX_LARGE_FETCH);
if(find_handle != INVALID_HANDLE_VALUE) {
do {
if((find_result.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) && !impl::contains_non_ascii(find_result.cFileName)) {
Expand All @@ -228,7 +228,7 @@ std::vector<directory> list_subdirectories(directory const& dir) {
} else {
auto const appended_path = dir.relative_path + NATIVE("\\*");
WIN32_FIND_DATAW find_result;
auto find_handle = FindFirstFileW(appended_path.c_str(), &find_result);
auto find_handle = FindFirstFileExW(appended_path.c_str(), FindExInfoBasic, &find_result, FindExSearchNameMatch, NULL, FIND_FIRST_EX_LARGE_FETCH);
if(find_handle != INVALID_HANDLE_VALUE) {
do {
if((find_result.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) && !impl::contains_non_ascii(find_result.cFileName)) {
Expand Down

0 comments on commit 6636ca7

Please sign in to comment.