packages feed

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 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).