Fix #14057 - moveFile should overwrite on Windows (#14433)

This commit is contained in:
genotrance 2020-05-23 11:06:04 -05:00 • committed by GitHub
commit b012205b2e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1801,9 +1801,9 @@ proc tryMoveFSObject(source, dest: string): bool {.noNimScript.} =
when useWinUnicode: when useWinUnicode:
let s = newWideCString(source) let s = newWideCString(source)
let d = newWideCString(dest) let d = newWideCString(dest)
if moveFileExW(s, d, MOVEFILE_COPY_ALLOWED) == 0'i32: raiseOSError(osLastError(), $(source, dest)) if moveFileExW(s, d, MOVEFILE_COPY_ALLOWED or MOVEFILE_REPLACE_EXISTING) == 0'i32: raiseOSError(osLastError(), $(source, dest))
else: else:
if moveFileExA(source, dest, MOVEFILE_COPY_ALLOWED) == 0'i32: raiseOSError(osLastError(), $(source, dest)) if moveFileExA(source, dest, MOVEFILE_COPY_ALLOWED or MOVEFILE_REPLACE_EXISTING) == 0'i32: raiseOSError(osLastError(), $(source, dest))
else: else:
if c_rename(source, dest) != 0'i32: if c_rename(source, dest) != 0'i32:
let err = osLastError() let err = osLastError()