[PATCH] kernel32: Create the backup in the same directory.

Zebediah Figura z.figura12 at gmail.com
Fri Apr 3 10:58:07 CDT 2020


Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
---
 dlls/kernel32/file.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/dlls/kernel32/file.c b/dlls/kernel32/file.c
index 3b2d82cc37e..9bd5e0ec7b8 100644
--- a/dlls/kernel32/file.c
+++ b/dlls/kernel32/file.c
@@ -43,6 +43,7 @@
 #include "ddk/ntddk.h"
 #include "kernel_private.h"
 #include "fileapi.h"
+#include "shlwapi.h"
 
 #include "wine/exception.h"
 #include "wine/unicode.h"
@@ -502,8 +503,9 @@ BOOL WINAPI ReplaceFileW(LPCWSTR lpReplacedFileName, LPCWSTR lpReplacementFileNa
         static const WCHAR prefixW[] = {'r','f',0};
         WCHAR temp_path[MAX_PATH], temp_file[MAX_PATH];
 
-        if (!GetTempPathW( ARRAY_SIZE(temp_path), temp_path )
-                || !GetTempFileNameW( temp_path, prefixW, 0, temp_file )
+        lstrcpynW( temp_path, lpReplacedFileName, ARRAY_SIZE( temp_path ) );
+        PathRemoveFileSpecW( temp_path );
+        if (!GetTempFileNameW( temp_path, prefixW, 0, temp_file )
                 || !MoveFileExW( lpReplacedFileName, temp_file, MOVEFILE_REPLACE_EXISTING ))
             return FALSE;
 
-- 
2.26.0




More information about the wine-devel mailing list