From 14e5429163f0138f03deaaa1134c8b4982c27141 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 22 May 2016 15:41:28 -0400 Subject: merge Utility from git-annex --- src/Utility/FileSystemEncoding.hs | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/Utility/FileSystemEncoding.hs') 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 -- cgit v1.3-2-g0d8e