pipes-vector 0.6 → 0.6.1
raw patch · 2 files changed
+5/−5 lines, 2 files
Files
- pipes-vector.cabal +1/−1
- src/Pipes/Vector.hs +4/−4
pipes-vector.cabal view
@@ -1,5 +1,5 @@ name: pipes-vector-version: 0.6+version: 0.6.1 synopsis: Various proxies for streaming data into vectors description: Proxies for streaming data into vectors. license: BSD3
src/Pipes/Vector.hs view
@@ -68,15 +68,15 @@ :: (PrimMonad m, M.MVector (V.Mutable v) e) => Consumer e (ToVector v e m) r toVector = forever $ do- length <- M.length . result <$> lift (TV get)- pos <- idx <$> lift (TV get)+ length <- (M.length . result) `liftM` lift (TV get)+ pos <- idx `liftM` lift (TV get) lift $ TV $ when (pos >= length) $ do- v <- result <$> get+ v <- result `liftM` get v' <- M.unsafeGrow v (min length maxChunkSize) modify $ \(ToVecS r i) -> ToVecS v' i r <- await lift $ TV $ do- v <- result <$> get+ v <- result `liftM` get M.unsafeWrite v pos r modify $ \(ToVecS r i) -> ToVecS r (pos+1)