packages feed

network-byte-order 0.1.4.0 → 0.1.5

raw patch · 2 files changed

+24/−6 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Network.ByteOrder: clearWriteBuffer :: WriteBuffer -> IO ()
+ Network.ByteOrder: goBack :: Readable a => a -> IO ()

Files

Network/ByteOrder.hs view
@@ -51,6 +51,7 @@     -- *Writing to buffer   , WriteBuffer(..)   , newWriteBuffer+  , clearWriteBuffer   , withWriteBuffer   , withWriteBuffer'   , write8@@ -369,6 +370,12 @@ newWriteBuffer buf siz =     WriteBuffer buf (buf `plusPtr` siz) <$> newIORef buf <*> newIORef buf +-- | Reseting a write buffer.+clearWriteBuffer :: WriteBuffer -> IO ()+clearWriteBuffer WriteBuffer{..} = do+    writeIORef offset start+    writeIORef oldoffset start+ {-# INLINE write8 #-} -- | Write one byte and ff one byte. --   If buffer overrun occurs, 'BufferOverrun' is thrown.@@ -561,16 +568,19 @@     save :: a -> IO ()     -- | Getting how many bytes from the saved offset pinter.     savingSize :: a -> IO Int+    -- | Moving the offset point to the saved point.+    goBack :: a -> IO ()  instance Readable WriteBuffer where     {-# INLINE read8 #-}     read8 WriteBuffer{..} = do         ptr <- readIORef offset-        let ptr' = ptr `plusPtr` 1-        when (ptr' > limit) $ throwIO BufferOverrun-        w <- peek ptr-        writeIORef offset ptr'-        return w+        if ptr < limit then do+            w <- peek ptr+            writeIORef offset $ ptr `plusPtr` 1+            return w+          else+            throwIO BufferOverrun     {-# INLINE readInt8 #-}     readInt8 WriteBuffer{..} = do         ptr <- readIORef offset@@ -585,6 +595,8 @@     ff WriteBuffer{..} n = do         ptr <- readIORef offset         let ptr' = ptr `plusPtr` n+        when (ptr' < start) $ throwIO BufferOverrun+        when (ptr' > limit) $ throwIO BufferOverrun -- not >=         writeIORef offset ptr'     {-# INLINE remainingSize #-}     remainingSize WriteBuffer{..} = do@@ -599,6 +611,10 @@         old <- readIORef oldoffset         cur <- readIORef offset         return $ cur `minusPtr` old+    {-# INLINE goBack #-}+    goBack WriteBuffer{..} = do+        old <- readIORef oldoffset+        writeIORef offset old  instance Readable ReadBuffer where     {-# INLINE read8 #-}@@ -615,6 +631,8 @@     save (ReadBuffer w) = save w     {-# INLINE savingSize #-}     savingSize (ReadBuffer w) = savingSize w+    {-# INLINE goBack #-}+    goBack (ReadBuffer w) = goBack w  ---------------------------------------------------------------- 
network-byte-order.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/  name:                network-byte-order-version:             0.1.4.0+version:             0.1.5 synopsis:            Network byte order utilities description:         Peek and poke functions for network byte order. license:             BSD3