Module: wine Branch: master Commit: f807f2d457222778da2244ae53cefaeecda04383 URL: http://source.winehq.org/git/wine.git/?a=commit;h=f807f2d457222778da2244ae53...
Author: Alexandre Julliard julliard@winehq.org Date: Tue May 1 14:32:33 2007 +0200
kernel32: Don't skip directory symlinks when looking for a specific file.
---
dlls/kernel32/file.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/kernel32/file.c b/dlls/kernel32/file.c index d0b84cf..6b2fb49 100644 --- a/dlls/kernel32/file.c +++ b/dlls/kernel32/file.c @@ -71,6 +71,7 @@ typedef struct
static BOOL oem_file_apis;
+static const WCHAR wildcardsW[] = { '*','?',0 };
/*********************************************************************** * create_file_OF @@ -1559,7 +1560,6 @@ HANDLE WINAPI FindFirstFileExW( LPCWSTR filename, FINDEX_INFO_LEVELS level, LPVOID data, FINDEX_SEARCH_OPS search_op, LPVOID filter, DWORD flags) { - static const WCHAR wildcardsW[] = { '*','?',0 }; WCHAR *mask, *p; FIND_FIRST_INFO *info = NULL; UNICODE_STRING nt_name; @@ -1787,7 +1787,8 @@ BOOL WINAPI FindNextFileW( HANDLE handle, WIN32_FIND_DATAW *data )
/* check for dir symlink */ if ((dir_info->FileAttributes & FILE_ATTRIBUTE_DIRECTORY) && - (dir_info->FileAttributes & FILE_ATTRIBUTE_REPARSE_POINT)) + (dir_info->FileAttributes & FILE_ATTRIBUTE_REPARSE_POINT) && + strpbrkW( info->mask.Buffer, wildcardsW )) { if (!check_dir_symlink( info, dir_info )) continue; }