diff options
author | Joe Crayne <joe@jerkface.net> | 2018-10-30 15:57:08 -0400 |
---|---|---|
committer | Joe Crayne <joe@jerkface.net> | 2018-10-30 19:53:36 -0400 |
commit | 5faf6a665e87ac67cbe5cf67cffb2aa90b56de92 (patch) | |
tree | d86cbeaf82f447bfecd564db553bd70933d933b5 /haskell/Data/VCDIFF/XDelta.hsc | |
parent | 9a8a11acafe6110b9a243c5c42a3db854d8213dc (diff) |
Refactored xdelta function, enables lazier streaming.
Diffstat (limited to 'haskell/Data/VCDIFF/XDelta.hsc')
-rw-r--r-- | haskell/Data/VCDIFF/XDelta.hsc | 3 |
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 () | |||
75 | sourceWriteCurrentBlock (Source src) (CurrentBlock no sz ptr) = do | 75 | sourceWriteCurrentBlock (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 | ||
80 | sourceWriteEOFKnown :: PrimMonad m => Source m -> Bool -> m () | 81 | sourceWriteEOFKnown :: PrimMonad m => Source m -> Bool -> m () |
81 | sourceWriteEOFKnown (Source src) False = writeAtByte src (#{off xd3_source, eof_known}) (0 :: #{type int}) | 82 | sourceWriteEOFKnown (Source src) False = writeAtByte src (#{off xd3_source, eof_known}) (0 :: #{type int}) |