Commit dd6fe036 authored by simonmar's avatar simonmar

[project @ 2003-06-23 10:13:03 by simonmar]

openFileEx can't be gotten from GHC.Handle any more.
parent 1f861358
...@@ -96,7 +96,18 @@ import GHC.Real ( Ratio(..) ) ...@@ -96,7 +96,18 @@ import GHC.Real ( Ratio(..) )
import GHC.Exts import GHC.Exts
import GHC.IOBase ( IO(..) ) import GHC.IOBase ( IO(..) )
import GHC.Word ( Word8(..) ) import GHC.Word ( Word8(..) )
#endif
#if __GLASGOW_HASKELL__ < 601
-- openFileEx is available from the lang package, but we want to
-- be independent of hslibs libraries.
import GHC.Handle ( openFileEx, IOModeEx(..) ) import GHC.Handle ( openFileEx, IOModeEx(..) )
#else
import System.IO ( openBinaryFile )
#endif
#if __GLASGOW_HASKELL__ < 601
openBinaryFile f mode = openFileEx f (BinaryMode mode)
#endif #endif
#if __GLASGOW_HASKELL__ < 503 #if __GLASGOW_HASKELL__ < 503
...@@ -226,7 +237,7 @@ isEOFBin (BinIO _ ix_r h) = hIsEOF h ...@@ -226,7 +237,7 @@ isEOFBin (BinIO _ ix_r h) = hIsEOF h
writeBinMem :: BinHandle -> FilePath -> IO () writeBinMem :: BinHandle -> FilePath -> IO ()
writeBinMem (BinIO _ _ _) _ = error "Data.Binary.writeBinMem: not a memory handle" writeBinMem (BinIO _ _ _) _ = error "Data.Binary.writeBinMem: not a memory handle"
writeBinMem (BinMem _ ix_r sz_r arr_r) fn = do writeBinMem (BinMem _ ix_r sz_r arr_r) fn = do
h <- openFileEx fn (BinaryMode WriteMode) h <- openBinaryFile fn WriteMode
arr <- readIORef arr_r arr <- readIORef arr_r
ix <- readFastMutInt ix_r ix <- readFastMutInt ix_r
hPutArray h arr ix hPutArray h arr ix
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment