summaryrefslogtreecommitdiff
path: root/haskell/Data/VCDIFF/XDelta.hsc
diff options
context:
space:
mode:
authorJoe Crayne <joe@jerkface.net>2018-10-30 15:57:08 -0400
committerJoe Crayne <joe@jerkface.net>2018-10-30 19:53:36 -0400
commit5faf6a665e87ac67cbe5cf67cffb2aa90b56de92 (patch)
treed86cbeaf82f447bfecd564db553bd70933d933b5 /haskell/Data/VCDIFF/XDelta.hsc
parent9a8a11acafe6110b9a243c5c42a3db854d8213dc (diff)
Refactored xdelta function, enables lazier streaming.
Diffstat (limited to 'haskell/Data/VCDIFF/XDelta.hsc')
-rw-r--r--haskell/Data/VCDIFF/XDelta.hsc3
1 files changed, 2 insertions, 1 deletions
diff --git a/haskell/Data/VCDIFF/XDelta.hsc b/haskell/Data/VCDIFF/XDelta.hsc
index b406c1d..c66dab2 100644
--- a/haskell/Data/VCDIFF/XDelta.hsc
+++ b/haskell/Data/VCDIFF/XDelta.hsc
@@ -75,7 +75,8 @@ sourceWriteCurrentBlock :: PrimMonad m => Source m -> CurrentBlock -> m ()
75sourceWriteCurrentBlock (Source src) (CurrentBlock no sz ptr) = do 75sourceWriteCurrentBlock (Source src) (CurrentBlock no sz ptr) = do
76 writeAtByte src (#{off xd3_source, curblkno}) no 76 writeAtByte src (#{off xd3_source, curblkno}) no
77 writeAtByte src (#{off xd3_source, onblk}) sz 77 writeAtByte src (#{off xd3_source, onblk}) sz
78 writeAtByte src (#{off xd3_source, curblk}) ptr 78 when (ptr /= nullPtr)
79 $ writeAtByte src (#{off xd3_source, curblk}) ptr
79 80
80sourceWriteEOFKnown :: PrimMonad m => Source m -> Bool -> m () 81sourceWriteEOFKnown :: PrimMonad m => Source m -> Bool -> m ()
81sourceWriteEOFKnown (Source src) False = writeAtByte src (#{off xd3_source, eof_known}) (0 :: #{type int}) 82sourceWriteEOFKnown (Source src) False = writeAtByte src (#{off xd3_source, eof_known}) (0 :: #{type int})