Module: wine Branch: master Commit: 000eddbc8c57e790b29f34b7135c98cebc97d489 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=000eddbc8c57e790b29f34b7...
Author: Mike McCormack mike@codeweavers.com Date: Tue Aug 22 14:16:46 2006 +0900
shell32: Don't add the directory name twice when recursing into subdirectories.
---
dlls/shell32/shlfileop.c | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/dlls/shell32/shlfileop.c b/dlls/shell32/shlfileop.c index fccc2ac..8391ba6 100644 --- a/dlls/shell32/shlfileop.c +++ b/dlls/shell32/shlfileop.c @@ -958,17 +958,18 @@ static void copy_dir_to_dir(LPSHFILEOPST /* copy a file or directory to another directory */ static void copy_to_dir(LPSHFILEOPSTRUCTW lpFileOp, FILE_ENTRY *feFrom, FILE_ENTRY *feTo) { - WCHAR szDestPath[MAX_PATH]; - if (!PathFileExistsW(feTo->szFullPath)) SHNotifyCreateDirectoryW(feTo->szFullPath, NULL);
- PathCombineW(szDestPath, feTo->szFullPath, feFrom->szFilename); - if (IsAttribFile(feFrom->attributes)) + { + WCHAR szDestPath[MAX_PATH]; + + PathCombineW(szDestPath, feTo->szFullPath, feFrom->szFilename); SHNotifyCopyFileW(feFrom->szFullPath, szDestPath, FALSE); + } else if (!(lpFileOp->fFlags & FOF_FILESONLY && feFrom->bFromWildcard)) - copy_dir_to_dir(lpFileOp, feFrom, szDestPath); + copy_dir_to_dir(lpFileOp, feFrom, feTo->szFullPath); }
static void create_dest_dirs(LPWSTR szDestDir)