[PATCH] kernel32: Create the backup in the same directory.
Signed-off-by: Zebediah Figura <zfigura(a)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
Hi, While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check? Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=68872 Your paranoid android. === debiant (32 bit report) === kernel32: change.c:320: Test failed: should be ready
participants (2)
-
Marvin -
Zebediah Figura