diff options
author | Max Bolingbroke <batterseapower@hotmail.com> | 2011-11-02 13:46:24 +0000 |
---|---|---|
committer | Max Bolingbroke <batterseapower@hotmail.com> | 2011-11-02 13:46:24 +0000 |
commit | de77751141cda79b35a17c07b4135b9d2540f6d4 (patch) | |
tree | 96898dec498c532e623216d564d5b45ad4589900 | |
parent | 2043afcb0b938bc89257ab64d72a75b44a475c82 (diff) | |
download | haskell-de77751141cda79b35a17c07b4135b9d2540f6d4.tar.gz |
Be more forgiving about encoding name capitalization/hyphenization
-rw-r--r-- | libraries/base/GHC/IO/Encoding.hs | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/libraries/base/GHC/IO/Encoding.hs b/libraries/base/GHC/IO/Encoding.hs index df14c0014c..1012290a99 100644 --- a/libraries/base/GHC/IO/Encoding.hs +++ b/libraries/base/GHC/IO/Encoding.hs @@ -45,6 +45,7 @@ import qualified GHC.IO.Encoding.UTF8 as UTF8 import qualified GHC.IO.Encoding.UTF16 as UTF16 import qualified GHC.IO.Encoding.UTF32 as UTF32 +import Data.Char (toUpper) import Data.List import Data.Maybe @@ -192,14 +193,14 @@ mkTextEncoding e = case mb_coding_failure_mode of ("unknown encoding:" ++ e) Nothing Nothing) mkTextEncoding' :: CodingFailureMode -> String -> IO TextEncoding -mkTextEncoding' cfm enc = case enc of - "UTF-8" -> return $ UTF8.mkUTF8 cfm - "UTF-16" -> return $ UTF16.mkUTF16 cfm - "UTF-16LE" -> return $ UTF16.mkUTF16le cfm - "UTF-16BE" -> return $ UTF16.mkUTF16be cfm - "UTF-32" -> return $ UTF32.mkUTF32 cfm - "UTF-32LE" -> return $ UTF32.mkUTF32le cfm - "UTF-32BE" -> return $ UTF32.mkUTF32be cfm +mkTextEncoding' cfm enc = case [toUpper c | c <- enc, c /= '-'] of + "UTF8" -> return $ UTF8.mkUTF8 cfm + "UTF16" -> return $ UTF16.mkUTF16 cfm + "UTF16LE" -> return $ UTF16.mkUTF16le cfm + "UTF16BE" -> return $ UTF16.mkUTF16be cfm + "UTF32" -> return $ UTF32.mkUTF32 cfm + "UTF32LE" -> return $ UTF32.mkUTF32le cfm + "UTF32BE" -> return $ UTF32.mkUTF32be cfm #if defined(mingw32_HOST_OS) 'C':'P':n | [(cp,"")] <- reads n -> return $ CodePage.mkCodePageEncoding cfm cp _ -> unknown_encoding |