@@ -113,7 +113,7 @@ import Streamly.Internal.Data.Fold (Fold)
113import Streamly.Internal.Data.Refold.Type (Refold(..))
113import Streamly.Internal.Data.Refold.Type (Refold(..))
114import Streamly.Internal.Data.Unfold.Type (Unfold(..))
114import Streamly.Internal.Data.Unfold.Type (Unfold(..))
115import Streamly.Internal.Data.Array.Foreign.Type
115import Streamly.Internal.Data.Array.Foreign.Type
116− (Array(..), writeNUnsafe, unsafeFreezeWithShrink)
116+ (Array(..), writeNUnsafe, unsafeFreezeWithShrink, byteLength)
117import Streamly.Internal.Data.Array.Foreign.Mut.Type (fromForeignPtrUnsafe)
117import Streamly.Internal.Data.Array.Foreign.Mut.Type (fromForeignPtrUnsafe)
118import Streamly.Internal.Data.Stream.Serial (SerialT)
118import Streamly.Internal.Data.Stream.Serial (SerialT)
119import Streamly.Internal.Data.Stream.IsStream.Type
119import Streamly.Internal.Data.Stream.IsStream.Type
@@ -206,7 +206,7 @@ _toChunksWithBufferOf size h = go
206 -- XXX use cons/nil instead
206 -- XXX use cons/nil instead
207 go = mkStream $ \_ yld _ stp -> do
207 go = mkStream $ \_ yld _ stp -> do
208 arr <- getChunk size h
208 arr <- getChunk size h
209− if A.length arr == 0
209+ if byteLength arr == 0
211 else yld arr go
211 else yld arr go
@@ -226,7 +226,7 @@ toChunksWithBufferOf size h = fromStreamD (D.Stream step ())
226 step _ _ = do
226 step _ _ = do
227 arr <- getChunk size h
227 arr <- getChunk size h
229− case A.length arr of
229+ case byteLength arr of
230 0 -> D.Stop
230 0 -> D.Stop
231 _ -> D.Yield arr ()
231 _ -> D.Yield arr ()
@@ -239,12 +239,14 @@ toChunksWithBufferOf size h = fromStreamD (D.Stream step ())
239{-# INLINE_NORMAL readChunksWithBufferOf #-}
239{-# INLINE_NORMAL readChunksWithBufferOf #-}
240readChunksWithBufferOf :: MonadIO m => Unfold m (Int, Handle) (Array Word8)
240readChunksWithBufferOf :: MonadIO m => Unfold m (Int, Handle) (Array Word8)
241readChunksWithBufferOf = Unfold step return
241readChunksWithBufferOf = Unfold step return
243 {-# INLINE_LATE step #-}
245 {-# INLINE_LATE step #-}
244 step (size, h) = do
246 step (size, h) = do
245 arr <- getChunk size h
247 arr <- getChunk size h
247− case A.length arr of
249+ case byteLength arr of
248 0 -> D.Stop
250 0 -> D.Stop
249 _ -> D.Yield arr (size, h)
251 _ -> D.Yield arr (size, h)
@@ -279,7 +281,7 @@ readChunksFromToWith = Unfold step inject
280 arr <- getChunk (min bufSize remaining) h
282 arr <- getChunk (min bufSize remaining) h
282− case A.length arr of
284+ case byteLength arr of
283 0 -> D.Stop
285 0 -> D.Stop
285 assert (len <= remaining)
287 assert (len <= remaining)