From 5faf6a665e87ac67cbe5cf67cffb2aa90b56de92 Mon Sep 17 00:00:00 2001 From: Joe Crayne Date: Tue, 30 Oct 2018 15:57:08 -0400 Subject: Refactored xdelta function, enables lazier streaming. --- haskell/Data/VCDIFF/XDelta.hsc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'haskell/Data/VCDIFF') 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 () sourceWriteCurrentBlock (Source src) (CurrentBlock no sz ptr) = do writeAtByte src (#{off xd3_source, curblkno}) no writeAtByte src (#{off xd3_source, onblk}) sz - writeAtByte src (#{off xd3_source, curblk}) ptr + when (ptr /= nullPtr) + $ writeAtByte src (#{off xd3_source, curblk}) ptr sourceWriteEOFKnown :: PrimMonad m => Source m -> Bool -> m () sourceWriteEOFKnown (Source src) False = writeAtByte src (#{off xd3_source, eof_known}) (0 :: #{type int}) -- cgit v1.2.3