avoid another encoding crash

This commit is contained in:
Joey Hess 2013-12-27 00:10:04 -04:00
parent 63fab93755
commit 6c3e11abaf

View file

@ -40,6 +40,7 @@ import Data.Char
import System.Environment import System.Environment
import System.FilePath import System.FilePath
import System.Directory import System.Directory
import System.IO
import Control.Monad import Control.Monad
import Prelude hiding (log) import Prelude hiding (log)
@ -47,6 +48,7 @@ import Utility.Monad
import Utility.Misc import Utility.Misc
import Utility.Exception import Utility.Exception
import Utility.Path import Utility.Path
import Utility.FileSystemEncoding
data Coord = Coord data Coord = Coord
{ coordLine :: Int { coordLine :: Int
@ -207,7 +209,10 @@ applySplices destdir imports splices@(first:_) = do
oldcontent <- catchMaybeIO $ readFileStrictAnyEncoding dest oldcontent <- catchMaybeIO $ readFileStrictAnyEncoding dest
when (oldcontent /= Just newcontent) $ do when (oldcontent /= Just newcontent) $ do
putStrLn $ "splicing " ++ f putStrLn $ "splicing " ++ f
writeFile dest newcontent withFile dest WriteMode $ \h -> do
fileEncoding h
hPutStr h newcontent
hClose h
where where
expand lls [] = lls expand lls [] = lls
expand lls (s:rest) expand lls (s:rest)