Alexandre Julliard : kernel32: Don'
t skip directory symlinks when looking for a specific file.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue May 1 07:39:34 CDT 2007
Module: wine
Branch: master
Commit: f807f2d457222778da2244ae53cefaeecda04383
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f807f2d457222778da2244ae53cefaeecda04383
Author: Alexandre Julliard <julliard at 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;
}
More information about the wine-cvs
mailing list