drop find-first-file-stat WIN32_FIND_DATA>file-info
] if ;
-M: windows file-info ( path -- info )
+M: windows file-info
normalize-path
[ get-file-information-stat ]
[ set-windows-size-on-disk ] bi ;
-M: windows link-info ( path -- info )
+M: windows link-info
file-info ;
: file-executable-type ( path -- executable/f )
PRIVATE>
-M: windows file-system-info ( path -- file-system-info )
+M: windows file-system-info
normalize-path root-directory (file-system-info) ;
CONSTANT: names-buf-length 16384
! Can error with T{ windows-error f 21 "The device is not ready." }
! if there is a D: that is not ready, for instance. Ignore these drives.
-M: windows file-systems ( -- array )
+M: windows file-systems
find-volumes [ volume>paths ] map concat [
[ (file-system-info) ] [ 2drop f ] recover
] map sift ;