On 09/16/2018 04:48 PM, Fabian Maurer wrote:
- TRACE("%p %s %s\n", iface, debugstr_w(src), debugstr_w(dest));
- if (MoveFileW(src, dest))
- return S_OK;
- error = GetLastError();
- switch (error)
- {
- case ERROR_ALREADY_EXISTS:
- return CTL_E_FILEALREADYEXISTS;
- case ERROR_FILE_NOT_FOUND:
- return CTL_E_FILENOTFOUND;
- default:
- return HRESULT_FROM_WIN32(error);
- }
That doesn't seem quite correct.
As the docs I linked from https://bugs.winehq.org/show_bug.cgi?id=45839 state, this function also accepts wildcards. On my win7 machine that works, but MoveFileW can't handle this.
Should still work for reported case. I can add a warning with arguments for error case if you think it helps.
Regards,
Fabian Maurer
On Sonntag, 16. September 2018 16:06:07 CEST Nikolay Sivov wrote:
Should still work for reported case. I can add a warning with
arguments
for error case if you think it helps.
Yeah, if you don't implement it right away, some sort of FIXME in case it's called with unsupported parameters would be nice, I think.
Regards, Fabian Maurer
Fabian Maurer dark.shadow4@web.de wrote:
On Sonntag, 16. September 2018 16:06:07 CEST Nikolay Sivov wrote:
Should still work for reported case. I can add a warning with
arguments
for error case if you think it helps.
Yeah, if you don't implement it right away, some sort of FIXME in case it's called with unsupported parameters would be nice, I think.
Implementing ::MoveFile() method is utterly trival: just copy existing ::CopyFile() implementation. Another way of implementing it is to call ::CopyFile() and ::DeleteFile() in succession.