]> gitweb.factorcode.org Git - factor.git/commitdiff
load file-info on windows by default
authorDoug Coleman <doug.coleman@gmail.com>
Thu, 6 Mar 2008 23:55:18 +0000 (17:55 -0600)
committerDoug Coleman <doug.coleman@gmail.com>
Thu, 6 Mar 2008 23:55:18 +0000 (17:55 -0600)
fix the file type
add commented out file times

extra/io/windows/ce/ce.factor
extra/io/windows/files/files.factor
extra/io/windows/nt/nt.factor

index a5e0cb6b4a5a9933afab963071a747dee3b099e9..878f5899f6426735444aca43b7a037b9d0cdbfa3 100755 (executable)
@@ -3,4 +3,5 @@ io.windows.ce.files io.windows.ce.sockets io.windows.ce.launcher
 namespaces io.windows.mmap ;
 IN: io.windows.ce
 
+USE: io.windows.files
 T{ windows-ce-io } set-io-backend
index fdd574d00e2c0255a0b709dfcd2af6b4ebd1fa17..d107f80723d144df660f53a0b772fd839fabceb2 100644 (file)
@@ -50,17 +50,20 @@ SYMBOL: +encrypted+
         { +encrypted+ FILE_ATTRIBUTE_ENCRYPTED }
     } get-flags ;
 
+: win32-file-type ( n -- symbol )
+    FILE_ATTRIBUTE_DIRECTORY mask? +directory+ +regular-file+ ? ;
+
 : WIN32_FIND_DATA>file-info
     {
-        [ WIN32_FIND_DATA-dwFileAttributes win32-file-attributes ]
+        [ WIN32_FIND_DATA-dwFileAttributes win32-file-type ]
         [
             [ WIN32_FIND_DATA-nFileSizeLow ]
             [ WIN32_FIND_DATA-nFileSizeHigh ] bi >64bit
         ]
         [ WIN32_FIND_DATA-dwFileAttributes ]
-        [
-            WIN32_FIND_DATA-ftLastWriteTime FILETIME>timestamp
-        ]
+        ! [ WIN32_FIND_DATA-ftCreationTime FILETIME>timestamp ]
+        [ WIN32_FIND_DATA-ftLastWriteTime FILETIME>timestamp ]
+        ! [ WIN32_FIND_DATA-ftLastAccessTime FILETIME>timestamp ]
     } cleave
     \ file-info construct-boa ;
 
@@ -73,16 +76,15 @@ SYMBOL: +encrypted+
 
 : BY_HANDLE_FILE_INFORMATION>file-info
     {
-        [ BY_HANDLE_FILE_INFORMATION-dwFileAttributes win32-file-attributes ]
+        [ BY_HANDLE_FILE_INFORMATION-dwFileAttributes win32-file-type ]
         [
             [ BY_HANDLE_FILE_INFORMATION-nFileSizeLow ]
             [ BY_HANDLE_FILE_INFORMATION-nFileSizeHigh ] bi >64bit
         ]
         [ BY_HANDLE_FILE_INFORMATION-dwFileAttributes ]
-        [
-            BY_HANDLE_FILE_INFORMATION-ftLastWriteTime
-            FILETIME>timestamp
-        ]
+        ! [ BY_HANDLE_FILE_INFORMATION-ftCreationTime FILETIME>timestamp ]
+        [ BY_HANDLE_FILE_INFORMATION-ftLastWriteTime FILETIME>timestamp ]
+        ! [ BY_HANDLE_FILE_INFORMATION-ftLastAccessTime FILETIME>timestamp ]
     } cleave
     \ file-info construct-boa ;
 
index be57a398a2e82fc7c537c543857573cc83adaf5b..9bc587e00e7513a2f40154ed29376844548a9864 100755 (executable)
@@ -9,6 +9,7 @@ USE: io.windows.nt.launcher
 USE: io.windows.nt.monitors
 USE: io.windows.nt.sockets
 USE: io.windows.mmap
+USE: io.windows.files
 USE: io.backend
 
 T{ windows-nt-io } set-io-backend