add missing extensions for Windows
[ghc-base.git] / GHC / IO / Encoding / CodePage.hs
index 906a9d1..9ecc1fc 100644 (file)
@@ -1,4 +1,5 @@
-{-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE CPP, BangPatterns, ForeignFunctionInterface, NoImplicitPrelude,
+             NondecreasingIndentation, MagicHash #-}
 module GHC.IO.Encoding.CodePage(
 #if !defined(mingw32_HOST_OS)
  ) where
@@ -8,6 +9,7 @@ module GHC.IO.Encoding.CodePage(
                             ) where
 
 import GHC.Base
+import GHC.Show
 import GHC.Num
 import GHC.Enum
 import GHC.Word
@@ -53,11 +55,12 @@ codePageEncoding 1200 = utf16le
 codePageEncoding 1201 = utf16be
 codePageEncoding 12000 = utf32le
 codePageEncoding 12001 = utf32be
-codePageEncoding cp = maybe latin1 buildEncoding (lookup cp codePageMap)
+codePageEncoding cp = maybe latin1 (buildEncoding cp) (lookup cp codePageMap)
 
-buildEncoding :: CodePageArrays -> TextEncoding
-buildEncoding SingleByteCP {decoderArray = dec, encoderArray = enc}
+buildEncoding :: Word32 -> CodePageArrays -> TextEncoding
+buildEncoding cp SingleByteCP {decoderArray = dec, encoderArray = enc}
   = TextEncoding {
+    textEncodingName = "CP" ++ show cp,
     mkTextDecoder = return $ simpleCodec
         $ decodeFromSingleByte dec
     , mkTextEncoder = return $ simpleCodec $ encodeToSingleByte enc