diff --git a/basis/io/windows/files/files.factor b/basis/io/windows/files/files.factor index 992d1f8d6a..9ddc2b1eae 100644 --- a/basis/io/windows/files/files.factor +++ b/basis/io/windows/files/files.factor @@ -246,6 +246,20 @@ M: winnt file-info ( path -- info ) M: winnt link-info ( path -- info ) file-info ; +TUPLE: winnt-file-system-info < file-system-info +total-bytes total-free-bytes ; + +M: winnt file-system-info ( path -- file-system-info ) + normalize-path + "ULARGE_INTEGER" + "ULARGE_INTEGER" + "ULARGE_INTEGER" + [ GetDiskFreeSpaceEx ] 3keep + \ winnt-file-system-info new + swap >>total-free-bytes + swap >>total-bytes + swap >>free-space ; + : file-times ( path -- timestamp timestamp timestamp ) [ normalize-path open-existing &dispose handle>>