on master help sign in
Combine multiple conditions in recheader
3d1fd98Adithya Kumar
core/src/Streamly/Internal/Data/Serialize/TH/RecHeader.hs+11−17
@@ -391,23 +391,17 @@ mkDeserializeExpr initialOff endOff deserializeWithKeys con = do
391 deserialize $(varE initialOff) $(varE _arr) $(varE endOff)
391 deserialize $(varE initialOff) $(varE _arr) $(varE endOff)
392 ($(varP hOff), hlen1 :: Word16) <-
392 ($(varP hOff), hlen1 :: Word16) <-
393 deserialize hlenOff $(varE _arr) $(varE endOff)
393 deserialize hlenOff $(varE _arr) $(varE endOff)
394− if hlen1 == $(litIntegral hlen)
394+ if (hlen1 == $(litIntegral hlen)) && $(xorCmp hval hOff _arr)
395− then if $(xorCmp hval hOff _arr)
396− then do
395+ then do
397− let $(varP (makeI 0)) =
396+ let $(varP (makeI 0)) =
398− $(varE initialOff) +
397+ $(varE initialOff) +
399− $(litIntegral sizePreData)
398+ $(litIntegral sizePreData)
400− $(mkDeserializeExprOne 'deserializeWithSize con)
399+ $(mkDeserializeExprOne 'deserializeWithSize con)
401− else $(varE deserializeWithKeys)
400+ else $(varE deserializeWithKeys)
402− $(varE hOff)
401+ $(varE hOff)
403− ($(varE initialOff) + w32_int encLen)
402+ ($(varE initialOff) + w32_int encLen)
404− $(varE _arr)
403+ $(varE _arr)
405− $(varE endOff)
406− else $(varE deserializeWithKeys)
407− $(varE hOff)
408− ($(varE initialOff) + w32_int encLen)
409− $(varE _arr)
410− $(varE endOff)|]
404+ $(varE endOff)|]
411
405
412 where
406 where
413
407