From 5d8844de2a50cc72244f6fb64a570840f9332ad8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Sat, 24 Jan 2026 09:27:56 +0100 Subject: Fix compatibility with bytestring-0.10 --- src/Erebos/Object/Internal.hs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/Erebos') diff --git a/src/Erebos/Object/Internal.hs b/src/Erebos/Object/Internal.hs index fe00579..1e65321 100644 --- a/src/Erebos/Object/Internal.hs +++ b/src/Erebos/Object/Internal.hs @@ -295,19 +295,19 @@ parseTabEscapedLines = parseLines [] where parseLines linesReversed cur = do newline <- BC.elemIndex '\n' cur - case BC.indexMaybe cur (newline + 1) of - Just '\t' -> parseLines (B.take (newline + 1) cur : linesReversed) (B.drop (newline + 2) cur) - _ -> Just ( BC.concat $ reverse $ B.take newline cur : linesReversed, B.drop (newline + 1) cur ) + case ( BC.length cur > newline + 1, BC.index cur (newline + 1) ) of + ( True, '\t' ) -> parseLines (B.take (newline + 1) cur : linesReversed) (B.drop (newline + 2) cur) + _ -> Just ( BC.concat $ reverse $ B.take newline cur : linesReversed, B.drop (newline + 1) cur ) parseOnDemand :: Storage' c -> ByteString -> Maybe (Object' c) parseOnDemand _ body = do newline1 <- BC.elemIndex '\n' body newline2 <- BC.elemIndex '\n' $ B.drop (newline1 + 1) body guard (newline1 + newline2 + 2 == B.length body) - ( size, sizeRest ) <- BC.readWord64 (B.take newline1 body) + ( size, sizeRest ) <- BC.readInt (B.take newline1 body) guard (B.null sizeRest) dgst <- readRefDigest $ B.take newline2 $ B.drop (newline1 + 1) body - return $ OnDemand size dgst + return $ OnDemand (fromIntegral size) dgst deserializeObject :: PartialStorage -> BL.ByteString -> Except ErebosError (PartialObject, BL.ByteString) -- cgit v1.2.3