diff options
Diffstat (limited to 'Utility/DiskFree.hs')
-rw-r--r-- | Utility/DiskFree.hs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Utility/DiskFree.hs b/Utility/DiskFree.hs index aa1bfeedb..1f23ff512 100644 --- a/Utility/DiskFree.hs +++ b/Utility/DiskFree.hs @@ -31,8 +31,18 @@ getDiskFree path = withFilePath path $ \c_path -> do safeErrno (Errno v) = v == 0 #else +#ifdef mingw32_HOST_OS + +import System.Win32.File + +getDiskFree :: FilePath -> IO (Maybe Integer) +getDiskFree path = catchMaybeIO $ do + (sectors, bytes, nfree, _ntotal) <- getDiskFreeSpace (Just path) + return $ toInteger sectors * toInteger bytes * toInteger nfree +#else getDiskFree :: FilePath -> IO (Maybe Integer) getDiskFree _ = return Nothing #endif +#endif |