summaryrefslogtreecommitdiff
path: root/src/Utility/FileSystemEncoding.hs
diff options
context:
space:
mode:
authorJoey Hess <joeyh@joeyh.name>2016-05-22 15:55:27 -0400
committerJoey Hess <joeyh@joeyh.name>2016-05-22 15:55:27 -0400
commitb5f9026a89602a441e717a167c3d753346172885 (patch)
treeda635a9ea77155dfcf150b13b88db044bf479c78 /src/Utility/FileSystemEncoding.hs
parent65ac730c006184472a7d0cb19deffdd69839530f (diff)
parent0dd63693b8938a1d9a1319811b3d8bdd1569c60f (diff)
Merge branch 'joeyconfig'
Diffstat (limited to 'src/Utility/FileSystemEncoding.hs')
-rw-r--r--src/Utility/FileSystemEncoding.hs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/Utility/FileSystemEncoding.hs b/src/Utility/FileSystemEncoding.hs
index 67341d37..eab98337 100644
--- a/src/Utility/FileSystemEncoding.hs
+++ b/src/Utility/FileSystemEncoding.hs
@@ -19,6 +19,7 @@ module Utility.FileSystemEncoding (
encodeW8NUL,
decodeW8NUL,
truncateFilePath,
+ setConsoleEncoding,
) where
import qualified GHC.Foreign as GHC
@@ -164,3 +165,10 @@ truncateFilePath n = reverse . go [] n . L8.fromString
else go (c:coll) (cnt - x') (L8.drop 1 bs)
_ -> coll
#endif
+
+{- This avoids ghc's output layer crashing on invalid encoded characters in
+ - filenames when printing them out. -}
+setConsoleEncoding :: IO ()
+setConsoleEncoding = do
+ fileEncoding stdout
+ fileEncoding stderr