on master help sign in
Replace one-off code with safer File.writeBuilder
f3e9c0aEvan Czaplicki
compiler/src/Json/Encode.hs+4−5
@@ -30,7 +30,8 @@ import qualified Data.Scientific as Sci
30import Data.Monoid ((<>))
30import Data.Monoid ((<>))
31import qualified Data.Name as Name
31import qualified Data.Name as Name
32import qualified Data.Utf8 as Utf8
32import qualified Data.Utf8 as Utf8
33−import System.IO (IOMode(WriteMode), withBinaryFile)
33+
34+import qualified File
34
35
35
36
36
37
@@ -112,14 +113,12 @@ list encodeEntry entries =
112
113
113write :: FilePath -> Value -> IO ()
114write :: FilePath -> Value -> IO ()
114write path value =
115write path value =
115− withBinaryFile path WriteMode $ \handle ->
116+ File.writeBuilder path (encode value <> "\n")
116− B.hPutBuilder handle (encode value <> "\n")
117
117
118
118
119writeUgly :: FilePath -> Value -> IO ()
119writeUgly :: FilePath -> Value -> IO ()
120writeUgly path value =
120writeUgly path value =
121− withBinaryFile path WriteMode $ \handle ->
122− B.hPutBuilder handle (encodeUgly value)
121+ File.writeBuilder path (encodeUgly value)
123
122
124
123
125
124