-{-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE CPP, BangPatterns, ForeignFunctionInterface, NoImplicitPrelude,
+ NondecreasingIndentation, MagicHash #-}
module GHC.IO.Encoding.CodePage(
#if !defined(mingw32_HOST_OS)
) where
) where
import GHC.Base
+import GHC.Show
import GHC.Num
import GHC.Enum
import GHC.Word
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