]> gitweb.factorcode.org Git - factor.git/commitdiff
io.directories.windows: use MOVEFILE_REPLACE_EXISTING
authorJohn Benediktsson <mrjbq7@gmail.com>
Mon, 15 Apr 2024 20:28:33 +0000 (13:28 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Mon, 15 Apr 2024 20:28:33 +0000 (13:28 -0700)
basis/io/directories/windows/windows.factor
basis/windows/kernel32/kernel32.factor

index e51bda8433ebbac517c5422b7cd6164da399d3c1..0297efb4c946a8e286a75aed6a5020bf94584b02 100644 (file)
@@ -21,10 +21,13 @@ M: windows truncate-file
     ] with-disposal ;
 
 M: windows move-file
-    [ normalize-path ] bi@ MoveFile win32-error=0/f ;
+    [ normalize-path ] bi@
+    flags{ MOVEFILE_REPLACE_EXISTING MOVEFILE_COPY_ALLOWED }
+    MoveFileEx win32-error=0/f ;
 
 M: windows move-file-atomically
-    [ normalize-path ] bi@ 0 MoveFileEx win32-error=0/f ;
+    [ normalize-path ] bi@ MOVEFILE_REPLACE_EXISTING
+    MoveFileEx win32-error=0/f ;
 
 ERROR: file-delete-failed path error ;
 
index f5bd59a00bfb91170f0d2b22e307bde3a139b434..f49ff7c044b242df1d2c66ab4b1843de203dad73 100644 (file)
@@ -124,6 +124,13 @@ CONSTANT: FILE_SUPPORTS_OPEN_BY_FILE_ID     0x01000000
 CONSTANT: FILE_SUPPORTS_USN_JOURNAL         0x02000000
 CONSTANT: FILE_DAX_VOLUME                   0x20000000
 
+CONSTANT: MOVEFILE_COPY_ALLOWED 0x2
+CONSTANT: MOVEFILE_CREATE_HARDLINK 0x10
+CONSTANT: MOVEFILE_DELAY_UNTIL_REBOOT 0x4
+CONSTANT: MOVEFILE_FAIL_IF_NOT_TRACKABLE 0x20
+CONSTANT: MOVEFILE_REPLACE_EXISTING 0x1
+CONSTANT: MOVEFILE_WRITE_THROUGH 0x8
+
 CONSTANT: DONT_RESOLVE_DLL_REFERENCES 1
 
 STRUCT: FILE_NOTIFY_INFORMATION