http://bugs.winehq.org/show_bug.cgi?id=7544
--- Comment #29 from Erich Hoover ehoover@mines.edu 2008-02-05 18:12:10 --- (In reply to comment #28)
Sorry, I didn't know that you couldn't use code reuse (since the committed version of MoveFileWithProgressW relies on other Windows API calls), is there a reason this?
That's the way Alexandre wants it (also MoveFile uses Nt* calls, which are lower level). For some historical background I think you'll find the similarities between my original Feburary 2007 patch and your suggested patch interesting (yes, this patch has been on the table for almost a year): http://winehq.org/pipermail/wine-patches/2007-February/036394.html
Your current patch for this bug doesn't handle moving file over different mount points.
Quite so, but neither does MoveFile.
Also those gotos aren't helping your cause.
Wine is not a college exercise in flow statements. If you take a look around the code base "goto" is the standard practice for handling error conditions. This practice puts all cleanup code in one centralized location so that changes down the road do not neglect to clean something up.