kernel32: Fix moving a file to the same one
André Hentschel
nerv at dawncrow.de
Sun Mar 28 13:19:43 CDT 2010
---
dlls/kernel32/path.c | 3 +++
dlls/kernel32/tests/file.c | 2 +-
2 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/dlls/kernel32/path.c b/dlls/kernel32/path.c
index 2b69e8c..d34b3a7 100644
--- a/dlls/kernel32/path.c
+++ b/dlls/kernel32/path.c
@@ -1031,6 +1031,9 @@ BOOL WINAPI MoveFileWithProgressW( LPCWSTR source, LPCWSTR dest,
if (flag & MOVEFILE_WRITE_THROUGH)
FIXME("MOVEFILE_WRITE_THROUGH unimplemented\n");
+ if (!strcmpiW( source, dest ))
+ return TRUE; /* we are done */
+
/* check if we are allowed to rename the source */
if (!RtlDosPathNameToNtPathName_U( source, &nt_name, NULL, NULL ))
diff --git a/dlls/kernel32/tests/file.c b/dlls/kernel32/tests/file.c
index b6f066e..bf3e83e 100644
--- a/dlls/kernel32/tests/file.c
+++ b/dlls/kernel32/tests/file.c
@@ -589,7 +589,7 @@ static void test_CopyFileA(void)
ok(ret != 0, "GetTempFileNameA error %d\n", GetLastError());
ret = MoveFileA(source, source);
- todo_wine ok(ret, "MoveFileA: failed, error %d\n", GetLastError());
+ ok(ret, "MoveFileA: failed, error %d\n", GetLastError());
/* make the source have not zero size */
hfile = CreateFileA(source, GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, 0 );
--
Best Regards, André Hentschel
More information about the wine-patches
mailing list