diff options
| author | Roman Smrž <roman.smrz@seznam.cz> | 2026-01-24 09:27:56 +0100 |
|---|---|---|
| committer | Roman Smrž <roman.smrz@seznam.cz> | 2026-01-24 09:27:56 +0100 |
| commit | 5d8844de2a50cc72244f6fb64a570840f9332ad8 (patch) | |
| tree | 4a4b9ab7710ba57267030a750df7b9222ccfa57b /src | |
| parent | de445ec5a490da6ff22d2789b330f45d5e37765c (diff) | |
Fix compatibility with bytestring-0.10
Diffstat (limited to 'src')
| -rw-r--r-- | src/Erebos/Object/Internal.hs | 10 |
1 files changed, 5 insertions, 5 deletions
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) |