Module: wine Branch: master Commit: a90f695f78e67b0e4cdd330c8898a72be4c7b09a URL: https://gitlab.winehq.org/wine/wine/-/commit/a90f695f78e67b0e4cdd330c8898a72...
Author: Paul Gofman pgofman@codeweavers.com Date: Wed Aug 30 18:36:25 2023 -0600
kernelbase: Get unprocessed mask in FindFirstFileExW().
---
dlls/kernel32/tests/file.c | 4 ++-- dlls/kernelbase/file.c | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/dlls/kernel32/tests/file.c b/dlls/kernel32/tests/file.c index 0918651bc1c..af2347504e0 100644 --- a/dlls/kernel32/tests/file.c +++ b/dlls/kernel32/tests/file.c @@ -3019,8 +3019,8 @@ static void test_FindFirstFile_wildcards(void) {1, "..< ", ", '..a'"},
{1, "?", ", '.', '..', 'a'"}, - {1, "?.", ", '.', '..', 'a'"}, - {1, "?. ", ", '.', '..', 'a'"}, + {0, "?.", ", '.', '..', 'a'"}, + {0, "?. ", ", '.', '..', 'a'"}, {1, "??.", ", '.', '..', 'a', 'aa'"}, {1, "??. ", ", '.', '..', 'a', 'aa'"}, {1, "???.", ", '.', '..', 'a', 'aa', 'aaa'"}, diff --git a/dlls/kernelbase/file.c b/dlls/kernelbase/file.c index e4d9a1d70c1..f6d5087aa2b 100644 --- a/dlls/kernelbase/file.c +++ b/dlls/kernelbase/file.c @@ -1190,6 +1190,7 @@ HANDLE WINAPI DECLSPEC_HOTPATCH FindFirstFileExW( LPCWSTR filename, FINDEX_INFO_ if (has_wildcard) { size = 8192; + mask = PathFindFileNameW( filename ); mask_size = (lstrlenW( mask ) + 1) * sizeof(*mask); } else size = max_entry_size; @@ -1408,7 +1409,7 @@ static BOOL match_filename( const WCHAR *name, int length, const WCHAR *mask ) } }
- while (mask < mask_end && (*mask == '.' || *mask == '*')) + while (mask < mask_end && (*mask == ' ' || *mask == '.' || *mask == '*')) mask++; return (name == name_end && mask == mask_end); }