@@ -10,27 +10,11 @@ import qualified Data.Map as Map
1010import Data.ByteString (ByteString)
1111import Language.Haskell.TH.Syntax (qRunIO, lift)
1212import qualified Data.ByteString.Char8 as S8
13+import System.PosixCompat.Files (getFileStatus, fileSize)
14+import System.Posix.Types (FileOffset)
1315
14−#if defined(mingw32_HOST_OS) || defined(__MINGW32__)
15−
16−import System.Win32.File
17−
18−getFileSize :: FilePath -> IO Integer
19−getFileSize path = do
20− hnd <- createFile path
21− gENERIC_READ fILE_SHARE_READ Nothing oPEN_EXISTING 0 Nothing
22− size <- fmap bhfiSize $ getFileInformationByHandle hnd
23− closeHandle hnd
24− return $ fromIntegral size
25−
26−#else
27−
28−import System.Posix.Files
29−
30−getFileSize :: FilePath -> IO Integer
31−getFileSize = fmap (fromIntegral . fileSize) . getFileStatus
32−
33−#endif
16+getFileSize :: FilePath -> IO FileOffset
17+getFileSize = fmap fileSize . getFileStatus
3418
3519mimeTypes :: Map.Map ByteString ByteString
3620mimeTypes =