Re: [PATCH] shell32: SHFileOperation can move several files into one directory
2008/6/17 Vitaly Perov <vitperov(a)etersoft.ru>:
The test was sent 2 hours ago If FOF_MULTIDESTFILES flag is set it's not olny mean that pTo contains multiple destination files, it also can contain one folder.
Changelog: - shell32: SHFileOperation can move several files into one directory
--- a/dlls/shell32/shlfileop.c +++ b/dlls/shell32/shlfileop.c @@ -1426,7 +1426,8 @@ static HRESULT move_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom, c return ERROR_CANCELLED; if ((lpFileOp->fFlags & FOF_MULTIDESTFILES) && - flFrom->dwNumFiles != flTo->dwNumFiles) + flFrom->dwNumFiles != flTo->dwNumFiles && + !IsAttribDir(fileDest->attributes)) { return ERROR_CANCELLED; } There is a glaring error right here. For one, you should heed compiler warnings: wine/dlls/shell32/shlfileop.c: In function 'SHFileOperationW': wine/dlls/shell32/shlfileop.c:1428: warning: 'fileDest' is used uninitialized in this function wine/dlls/shell32/shlfileop.c:1407: note: 'fileDest' was declared here You're using fileDest when it hasn't been initialized (as the warning says). Second, the tests fail: shlfileop.c:1132: Test failed: The file is not moved - many files are specified as a target shlfileop.c:1206: Test failed: Expected d.txt to not exist make: *** [shlfileop.ok] Error 2 -- James Hawkins
You're using fileDest when it hasn't been initialized (as the warning says). Second, the tests fail:
Thank you! I forgot insert a line when I was rewriting it for the patch. -- Best wishes, Vitaly Perov Russia, Saint-Petersburg. www.etersoft.ru
participants (2)
-
James Hawkins -
Vitaly Perov