[commit: base] master: Fix build on Windows (2e445e5)
Max Bolingbroke
batterseapower at hotmail.com
Wed Nov 2 19:16:24 CET 2011
Repository : ssh://darcs.haskell.org//srv/darcs/packages/base
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/2e445e583f9455d878c5ad265d725bfd4f80dbec
>---------------------------------------------------------------
commit 2e445e583f9455d878c5ad265d725bfd4f80dbec
Author: Max Bolingbroke <batterseapower at hotmail.com>
Date: Wed Nov 2 18:13:41 2011 +0000
Fix build on Windows
>---------------------------------------------------------------
GHC/IO/Encoding.hs | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/GHC/IO/Encoding.hs b/GHC/IO/Encoding.hs
index 1012290..af0e345 100644
--- a/GHC/IO/Encoding.hs
+++ b/GHC/IO/Encoding.hs
@@ -176,7 +176,7 @@ char8 = Latin1.latin1
--
mkTextEncoding :: String -> IO TextEncoding
mkTextEncoding e = case mb_coding_failure_mode of
- Nothing -> unknown_encoding
+ Nothing -> unknownEncodingErr e
Just cfm -> mkTextEncoding' cfm enc
where
-- The only problem with actually documenting //IGNORE and //TRANSLIT as
@@ -189,9 +189,6 @@ mkTextEncoding e = case mb_coding_failure_mode of
"//ROUNDTRIP" -> Just RoundtripFailure
_ -> Nothing
- unknown_encoding = ioException (IOError Nothing NoSuchThing "mkTextEncoding"
- ("unknown encoding:" ++ e) Nothing Nothing)
-
mkTextEncoding' :: CodingFailureMode -> String -> IO TextEncoding
mkTextEncoding' cfm enc = case [toUpper c | c <- enc, c /= '-'] of
"UTF8" -> return $ UTF8.mkUTF8 cfm
@@ -203,7 +200,7 @@ mkTextEncoding' cfm enc = case [toUpper c | c <- enc, c /= '-'] of
"UTF32BE" -> return $ UTF32.mkUTF32be cfm
#if defined(mingw32_HOST_OS)
'C':'P':n | [(cp,"")] <- reads n -> return $ CodePage.mkCodePageEncoding cfm cp
- _ -> unknown_encoding
+ _ -> unknownEncodingErr (enc ++ codingFailureModeSuffix cfm)
#else
_ -> Iconv.mkIconvEncoding cfm enc
#endif
@@ -216,3 +213,6 @@ latin1_decode :: Buffer Word8 -> CharBuffer -> IO (Buffer Word8, CharBuffer)
latin1_decode input output = fmap (\(_why,input',output') -> (input',output')) $ Latin1.latin1_decode input output
--latin1_decode = unsafePerformIO $ do mkTextDecoder Iconv.latin1 >>= return.encode
+unknownEncodingErr :: String -> IO a
+unknownEncodingErr e = ioException (IOError Nothing NoSuchThing "mkTextEncoding"
+ ("unknown encoding:" ++ e) Nothing Nothing)
More information about the Cvs-libraries
mailing list