| 3652 | #define BFPFINDFILEDATA_TO_HANDLE(findData) ((HANDLE)(findData)) |
| 3653 | |
| 3654 | static bool BfpFindFileData_CheckFilter(BfpFindFileData* findData) |
| 3655 | { |
| 3656 | bool isDir = (findData->mFindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) != 0; |
| 3657 | if (isDir) |
| 3658 | { |
| 3659 | if ((findData->mFlags & BfpFindFileFlag_Directories) == 0) |
| 3660 | return false; |
| 3661 | |
| 3662 | if ((wcscmp(findData->mFindData.cFileName, L".") == 0) || (wcscmp(findData->mFindData.cFileName, L"..") == 0)) |
| 3663 | return false; |
| 3664 | } |
| 3665 | else |
| 3666 | { |
| 3667 | if ((findData->mFlags & BfpFindFileFlag_Files) == 0) |
| 3668 | return false; |
| 3669 | } |
| 3670 | |
| 3671 | Beefy::String fileName = UTF8Encode(findData->mFindData.cFileName); |
| 3672 | Beefy::MakeUpper(fileName); |
| 3673 | if (!wc_match(findData->mWildcard.c_str(), fileName.c_str())) |
| 3674 | return false; |
| 3675 | |
| 3676 | return true; |
| 3677 | } |
| 3678 | |
| 3679 | BFP_EXPORT BfpFindFileData* BFP_CALLTYPE BfpFindFileData_FindFirstFile(const char* path, BfpFindFileFlags flags, BfpFileResult* outResult) |
| 3680 | { |
no test coverage detected