From: Ziqing Hui <zhui(a)codeweavers.com> --- dlls/shell32/shlfileop.c | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/dlls/shell32/shlfileop.c b/dlls/shell32/shlfileop.c index 545568828ba..c8f3927eda9 100644 --- a/dlls/shell32/shlfileop.c +++ b/dlls/shell32/shlfileop.c @@ -921,7 +921,6 @@ typedef struct LPWSTR szFilename; LPWSTR szFullPath; BOOL bFromWildcard; - BOOL bFromRelative; BOOL bExists; } FILE_ENTRY; @@ -945,7 +944,7 @@ static inline void grow_list(FILE_LIST *list) } static void file_entry_init(FILE_ENTRY *file_entry, - const WCHAR *file_name, DWORD attributes, BOOL from_relative, BOOL from_wildcard) + const WCHAR *file_name, DWORD attributes, BOOL from_wildcard) { size_t file_name_len = wcslen(file_name) + 1; const WCHAR *ptr; @@ -966,7 +965,6 @@ static void file_entry_init(FILE_ENTRY *file_entry, } file_entry->attributes = attributes; - file_entry->bFromRelative = from_relative; file_entry->bFromWildcard = from_wildcard; file_entry->bExists = (attributes != INVALID_FILE_ATTRIBUTES); } @@ -984,7 +982,7 @@ static void file_entry_destroy(FILE_ENTRY *file_entry) } static void file_list_add_entry(FILE_LIST *file_list, - const WCHAR *file_name, DWORD attributes, BOOL from_relative, BOOL from_wildcard) + const WCHAR *file_name, DWORD attributes, BOOL from_wildcard) { FILE_ENTRY *file_entry; @@ -992,7 +990,7 @@ static void file_list_add_entry(FILE_LIST *file_list, grow_list(file_list); file_entry = &file_list->feFiles[file_list->dwNumFiles++]; - file_entry_init(file_entry, file_name, attributes, from_relative, from_wildcard); + file_entry_init(file_entry, file_name, attributes, from_wildcard); if (IsAttribDir(attributes)) file_list->bAnyDirectories = TRUE; @@ -1032,7 +1030,7 @@ static LPWSTR wildcard_to_file(LPCWSTR szWildCard, LPCWSTR szFileName) return szFullPath; } -static void parse_wildcard_files(FILE_LIST *file_list, LPCWSTR szFile, BOOL from_relative) +static void parse_wildcard_files(FILE_LIST *file_list, LPCWSTR szFile) { WIN32_FIND_DATAW wfd; HANDLE hFile = FindFirstFileW(szFile, &wfd); @@ -1045,7 +1043,7 @@ static void parse_wildcard_files(FILE_LIST *file_list, LPCWSTR szFile, BOOL from { if (IsDotDir(wfd.cFileName)) continue; szFullPath = wildcard_to_file(szFile, wfd.cFileName); - file_list_add_entry(file_list, szFullPath, wfd.dwFileAttributes, from_relative, TRUE); + file_list_add_entry(file_list, szFullPath, wfd.dwFileAttributes, TRUE); free(szFullPath); } @@ -1076,10 +1074,10 @@ static HRESULT parse_file_list(FILE_LIST *flList, LPCWSTR szFiles, BOOL parse_wi while (*ptr) { - BOOL from_relative = PathIsRelativeW(ptr), from_wildcard = !!wcspbrk(ptr, L"*?"); + BOOL from_wildcard = !!wcspbrk(ptr, L"*?"); /* change relative to absolute path */ - if (from_relative) + if (PathIsRelativeW(ptr)) { GetCurrentDirectoryW(MAX_PATH, szCurFile); PathCombineW(szCurFile, szCurFile, ptr); @@ -1093,9 +1091,9 @@ static HRESULT parse_file_list(FILE_LIST *flList, LPCWSTR szFiles, BOOL parse_wi /* parse wildcard files if they are in the filename */ if (from_wildcard && parse_wildcard) - parse_wildcard_files(flList, szCurFile, from_relative); + parse_wildcard_files(flList, szCurFile); else - file_list_add_entry(flList, szCurFile, GetFileAttributesW(szCurFile), from_relative, from_wildcard); + file_list_add_entry(flList, szCurFile, GetFileAttributesW(szCurFile), from_wildcard); /* advance to the next string */ ptr += lstrlenW(ptr) + 1; @@ -1153,8 +1151,8 @@ static DWORD copy_dir(FILE_OPERATION *op, const WCHAR *dir, const WCHAR *target) return ERROR_SUCCESS; PathCombineW(buffer, dir, L"*.*"); - file_entry_init(&from_dir, buffer, INVALID_FILE_ATTRIBUTES, FALSE, TRUE); - file_entry_init(&to_dir, target, GetFileAttributesW(target), FALSE, FALSE); + file_entry_init(&from_dir, buffer, INVALID_FILE_ATTRIBUTES, TRUE); + file_entry_init(&to_dir, target, GetFileAttributesW(target), FALSE); ret = do_copy(op, &from_dir, &to_dir, TRUE); @@ -1236,7 +1234,7 @@ static DWORD copy_files(FILE_OPERATION *op, const FILE_LIST *from, FILE_LIST *to { WCHAR buffer[MAX_PATH]; GetCurrentDirectoryW(MAX_PATH, buffer); - file_entry_init(¤t, buffer, GetFileAttributesW(buffer), FALSE, FALSE); + file_entry_init(¤t, buffer, GetFileAttributesW(buffer), FALSE); } target = ¤t; } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/7945