asn1-types 0.3.1 → 0.3.2
raw patch · 2 files changed
+18/−3 lines, 2 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Data.ASN1.BitArray: instance Eq BitArray
- Data.ASN1.BitArray: instance Eq BitArrayOutOfBound
- Data.ASN1.BitArray: instance Exception BitArrayOutOfBound
- Data.ASN1.BitArray: instance Show BitArray
- Data.ASN1.BitArray: instance Show BitArrayOutOfBound
- Data.ASN1.BitArray: instance Typeable BitArrayOutOfBound
- Data.ASN1.Pretty: instance Eq PrettyType
- Data.ASN1.Pretty: instance Show PrettyType
- Data.ASN1.Types: characterEncoding :: ASN1CharacterString -> ASN1StringEncoding
- Data.ASN1.Types: getCharacterStringRawData :: ASN1CharacterString -> ByteString
- Data.ASN1.Types: instance Eq ASN1
- Data.ASN1.Types: instance Eq ASN1ConstructionType
- Data.ASN1.Types: instance Eq ASN1TimeType
- Data.ASN1.Types: instance Ord ASN1TimeType
- Data.ASN1.Types: instance Show ASN1
- Data.ASN1.Types: instance Show ASN1ConstructionType
- Data.ASN1.Types: instance Show ASN1TimeType
- Data.ASN1.Types.Lowlevel: instance Enum ASN1Class
- Data.ASN1.Types.Lowlevel: instance Eq ASN1Class
- Data.ASN1.Types.Lowlevel: instance Eq ASN1Event
- Data.ASN1.Types.Lowlevel: instance Eq ASN1Header
- Data.ASN1.Types.Lowlevel: instance Eq ASN1Length
- Data.ASN1.Types.Lowlevel: instance Ord ASN1Class
- Data.ASN1.Types.Lowlevel: instance Show ASN1Class
- Data.ASN1.Types.Lowlevel: instance Show ASN1Event
- Data.ASN1.Types.Lowlevel: instance Show ASN1Header
- Data.ASN1.Types.Lowlevel: instance Show ASN1Length
- Data.ASN1.Types.String: characterEncoding :: ASN1CharacterString -> ASN1StringEncoding
- Data.ASN1.Types.String: getCharacterStringRawData :: ASN1CharacterString -> ByteString
- Data.ASN1.Types.String: instance Eq ASN1CharacterString
- Data.ASN1.Types.String: instance Eq ASN1StringEncoding
- Data.ASN1.Types.String: instance IsString ASN1CharacterString
- Data.ASN1.Types.String: instance Ord ASN1CharacterString
- Data.ASN1.Types.String: instance Ord ASN1StringEncoding
- Data.ASN1.Types.String: instance Show ASN1CharacterString
- Data.ASN1.Types.String: instance Show ASN1StringEncoding
+ Data.ASN1.BitArray: instance GHC.Classes.Eq Data.ASN1.BitArray.BitArray
+ Data.ASN1.BitArray: instance GHC.Classes.Eq Data.ASN1.BitArray.BitArrayOutOfBound
+ Data.ASN1.BitArray: instance GHC.Exception.Exception Data.ASN1.BitArray.BitArrayOutOfBound
+ Data.ASN1.BitArray: instance GHC.Show.Show Data.ASN1.BitArray.BitArray
+ Data.ASN1.BitArray: instance GHC.Show.Show Data.ASN1.BitArray.BitArrayOutOfBound
+ Data.ASN1.Pretty: instance GHC.Classes.Eq Data.ASN1.Pretty.PrettyType
+ Data.ASN1.Pretty: instance GHC.Show.Show Data.ASN1.Pretty.PrettyType
+ Data.ASN1.Types: [characterEncoding] :: ASN1CharacterString -> ASN1StringEncoding
+ Data.ASN1.Types: [getCharacterStringRawData] :: ASN1CharacterString -> ByteString
+ Data.ASN1.Types: instance GHC.Classes.Eq Data.ASN1.Types.ASN1
+ Data.ASN1.Types: instance GHC.Classes.Eq Data.ASN1.Types.ASN1ConstructionType
+ Data.ASN1.Types: instance GHC.Classes.Eq Data.ASN1.Types.ASN1TimeType
+ Data.ASN1.Types: instance GHC.Classes.Ord Data.ASN1.Types.ASN1TimeType
+ Data.ASN1.Types: instance GHC.Show.Show Data.ASN1.Types.ASN1
+ Data.ASN1.Types: instance GHC.Show.Show Data.ASN1.Types.ASN1ConstructionType
+ Data.ASN1.Types: instance GHC.Show.Show Data.ASN1.Types.ASN1TimeType
+ Data.ASN1.Types.Lowlevel: instance GHC.Classes.Eq Data.ASN1.Types.Lowlevel.ASN1Class
+ Data.ASN1.Types.Lowlevel: instance GHC.Classes.Eq Data.ASN1.Types.Lowlevel.ASN1Event
+ Data.ASN1.Types.Lowlevel: instance GHC.Classes.Eq Data.ASN1.Types.Lowlevel.ASN1Header
+ Data.ASN1.Types.Lowlevel: instance GHC.Classes.Eq Data.ASN1.Types.Lowlevel.ASN1Length
+ Data.ASN1.Types.Lowlevel: instance GHC.Classes.Ord Data.ASN1.Types.Lowlevel.ASN1Class
+ Data.ASN1.Types.Lowlevel: instance GHC.Enum.Enum Data.ASN1.Types.Lowlevel.ASN1Class
+ Data.ASN1.Types.Lowlevel: instance GHC.Show.Show Data.ASN1.Types.Lowlevel.ASN1Class
+ Data.ASN1.Types.Lowlevel: instance GHC.Show.Show Data.ASN1.Types.Lowlevel.ASN1Event
+ Data.ASN1.Types.Lowlevel: instance GHC.Show.Show Data.ASN1.Types.Lowlevel.ASN1Header
+ Data.ASN1.Types.Lowlevel: instance GHC.Show.Show Data.ASN1.Types.Lowlevel.ASN1Length
+ Data.ASN1.Types.String: [characterEncoding] :: ASN1CharacterString -> ASN1StringEncoding
+ Data.ASN1.Types.String: [getCharacterStringRawData] :: ASN1CharacterString -> ByteString
+ Data.ASN1.Types.String: instance Data.String.IsString Data.ASN1.Types.String.ASN1CharacterString
+ Data.ASN1.Types.String: instance GHC.Classes.Eq Data.ASN1.Types.String.ASN1CharacterString
+ Data.ASN1.Types.String: instance GHC.Classes.Eq Data.ASN1.Types.String.ASN1StringEncoding
+ Data.ASN1.Types.String: instance GHC.Classes.Ord Data.ASN1.Types.String.ASN1CharacterString
+ Data.ASN1.Types.String: instance GHC.Classes.Ord Data.ASN1.Types.String.ASN1StringEncoding
+ Data.ASN1.Types.String: instance GHC.Show.Show Data.ASN1.Types.String.ASN1CharacterString
+ Data.ASN1.Types.String: instance GHC.Show.Show Data.ASN1.Types.String.ASN1StringEncoding
Files
- Data/ASN1/Types/String.hs +17/−2
- asn1-types.cabal +1/−1
Data/ASN1/Types/String.hs view
@@ -134,7 +134,13 @@ decodeBMP :: ByteString -> String decodeBMP b | odd (B.length b) = error "not a valid BMP string"- | otherwise = undefined+ | otherwise = fromUCS2 $ B.unpack b+ where fromUCS2 [] = []+ fromUCS2 (b0:b1:l) =+ let v :: Word16+ v = (fromIntegral b0 `shiftL` 8) .|. fromIntegral b1+ in toEnum (fromIntegral v) : fromUCS2 l+ fromUCS2 _ = error "decodeBMP: internal error" encodeBMP :: String -> ByteString encodeBMP s = B.pack $ concatMap (toUCS2 . fromEnum) s where toUCS2 v = [b0,b1]@@ -144,7 +150,16 @@ decodeUTF32 :: ByteString -> String decodeUTF32 b | (B.length b `mod` 4) /= 0 = error "not a valid UTF32 string"- | otherwise = undefined+ | otherwise = fromUTF32 $ B.unpack b+ where fromUTF32 (a:b:c:d:l) =+ let v :: Word32+ v = (fromIntegral a `shiftL` 24) .|.+ (fromIntegral b `shiftL` 16) .|.+ (fromIntegral c `shiftL` 8) .|.+ (fromIntegral d)+ in toEnum (fromIntegral v) : fromUTF32 l+ fromUTF32 [] = []+ fromUTF32 _ = error "decodeUTF32: internal error" encodeUTF32 :: String -> ByteString encodeUTF32 s = B.pack $ concatMap (toUTF32 . fromEnum) s where toUTF32 v = [b0,b1,b2,b3]
asn1-types.cabal view
@@ -1,5 +1,5 @@ Name: asn1-types-Version: 0.3.1+Version: 0.3.2 Description: ASN.1 standard types License: BSD3 License-file: LICENSE