asn1-encoding 0.9.3 → 0.9.4
raw patch · 2 files changed
+12/−9 lines, 2 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Data.ASN1.BinaryEncoding: instance ASN1Decoding BER
- Data.ASN1.BinaryEncoding: instance ASN1Decoding DER
- Data.ASN1.BinaryEncoding: instance ASN1DecodingRepr BER
- Data.ASN1.BinaryEncoding: instance ASN1DecodingRepr DER
- Data.ASN1.BinaryEncoding: instance ASN1Encoding DER
- Data.ASN1.Error: instance Eq ASN1Error
- Data.ASN1.Error: instance Exception ASN1Error
- Data.ASN1.Error: instance Show ASN1Error
- Data.ASN1.Error: instance Typeable ASN1Error
+ Data.ASN1.BinaryEncoding: instance Data.ASN1.Encoding.ASN1Decoding Data.ASN1.BinaryEncoding.BER
+ Data.ASN1.BinaryEncoding: instance Data.ASN1.Encoding.ASN1Decoding Data.ASN1.BinaryEncoding.DER
+ Data.ASN1.BinaryEncoding: instance Data.ASN1.Encoding.ASN1DecodingRepr Data.ASN1.BinaryEncoding.BER
+ Data.ASN1.BinaryEncoding: instance Data.ASN1.Encoding.ASN1DecodingRepr Data.ASN1.BinaryEncoding.DER
+ Data.ASN1.BinaryEncoding: instance Data.ASN1.Encoding.ASN1Encoding Data.ASN1.BinaryEncoding.DER
+ Data.ASN1.Error: instance GHC.Classes.Eq Data.ASN1.Error.ASN1Error
+ Data.ASN1.Error: instance GHC.Exception.Exception Data.ASN1.Error.ASN1Error
+ Data.ASN1.Error: instance GHC.Show.Show Data.ASN1.Error.ASN1Error
- Data.ASN1.BinaryEncoding.Raw: ASN1Header :: SrictNotUnpackedASN1Class -> SrictNotUnpackedASN1Tag -> SrictNotUnpackedBool -> SrictNotUnpackedASN1Length -> ASN1Header
+ Data.ASN1.BinaryEncoding.Raw: ASN1Header :: ~ASN1Class -> ~ASN1Tag -> ~Bool -> ~ASN1Length -> ASN1Header
- Data.ASN1.BinaryEncoding.Raw: Primitive :: SrictNotUnpackedByteString -> ASN1Event
+ Data.ASN1.BinaryEncoding.Raw: Primitive :: ~ByteString -> ASN1Event
- Data.ASN1.Object: fromASN1 :: ASN1Object a => [ASN1] -> Either String (a, [ASN1])
+ Data.ASN1.Object: fromASN1 :: [ASN1] -> Either String (a, [ASN1])
- Data.ASN1.Object: toASN1 :: ASN1Object a => a -> ASN1S
+ Data.ASN1.Object: toASN1 :: a -> ASN1S
Files
- Data/ASN1/Get.hs +11/−8
- asn1-encoding.cabal +1/−1
Data/ASN1/Get.hs view
@@ -33,7 +33,6 @@ import Foreign import qualified Data.ByteString as B-import qualified Data.ByteString.Unsafe as B -- | The result of a parse. data Result r = Fail String@@ -185,13 +184,17 @@ -- | Pull @n@ bytes from the input, as a strict ByteString. getBytes :: Int -> Get B.ByteString-getBytes n = do- s <- ensure n- put (fromIntegral n) $ B.unsafeDrop n s- return $ B.unsafeTake n s+getBytes n+ | n <= 0 = return B.empty+ | otherwise = do+ s <- ensure n+ let (b1, b2) = B.splitAt n s+ put (fromIntegral n) b2+ return b1 getWord8 :: Get Word8 getWord8 = do- s <- ensure 1- put 1 $ B.unsafeTail s- return $ B.unsafeHead s+ s <- ensure 1+ case B.uncons s of+ Nothing -> error "getWord8: ensure internal error"+ Just (h,b2) -> put 1 b2 >> return h
asn1-encoding.cabal view
@@ -1,5 +1,5 @@ Name: asn1-encoding-Version: 0.9.3+Version: 0.9.4 Synopsis: ASN1 data reader and writer in RAW, BER and DER forms Description: ASN1 data reader and writer in raw form with supports for high level forms of ASN1 (BER, and DER).