diff options
author | Joey Hess <joey@kitenet.net> | 2013-12-10 01:18:04 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2013-12-10 01:18:04 -0400 |
commit | 6be1afd2596ce871eac13f2961b5dab8f2b1e87d (patch) | |
tree | e0e5846dd0dea9af4615875df7ef161ca745f99a /Utility | |
parent | 6f57477ce09149c8aa7c22e3da858fa5be4b7729 (diff) |
windows disk free space checking
Diffstat (limited to 'Utility')
-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 |