At this point, every call in git-annex to withFile, openBinaryFile,
withBinaryFile, appendFile, and openTempFile, readFile, and writeFile
have been converted.
Sponsored-by: the NIH-funded NICEMAN (ReproNim TR&D3) project
import Common
import Utility.FreeDesktop
+import qualified Utility.FileIO as F
installMenu :: String -> OsPath -> OsPath -> OsPath -> IO ()
#ifdef darwin_HOST_OS
installIcon :: OsPath -> OsPath -> IO ()
installIcon src dest = do
createDirectoryIfMissing True (parentDir dest)
- withBinaryFile (fromOsPath src) ReadMode $ \hin ->
- withBinaryFile (fromOsPath dest) WriteMode $ \hout ->
+ F.withBinaryFile src ReadMode $ \hin ->
+ F.withBinaryFile dest WriteMode $ \hout ->
hGetContents hin >>= hPutStr hout
iconBaseName :: String
storeLegacyChunked' _ _ [] _ _ = error "ran out of dests"
storeLegacyChunked' _ _ _ [] c = return $ reverse c
storeLegacyChunked' meterupdate chunksize (d:dests) bs c = do
- bs' <- withFile d WriteMode $
+ bs' <- F.withFile (toOsPath d) WriteMode $
feed zeroBytesProcessed chunksize bs
storeLegacyChunked' meterupdate chunksize dests bs' (d:c)
where
import Annex.Common
import Remote.Helper.Chunked
import Utility.Metered
+import qualified Utility.FileIO as F
import qualified Data.ByteString as S
import qualified Data.ByteString.Lazy as L
-}
meteredWriteFileChunks :: MeterUpdate -> FilePath -> [v] -> (v -> IO L.ByteString) -> IO ()
meteredWriteFileChunks meterupdate dest chunks feeder =
- withBinaryFile dest WriteMode $ \h ->
+ F.withBinaryFile (toOsPath dest) WriteMode $ \h ->
forM_ chunks $
meteredWrite meterupdate (S.hPut h) <=< feeder