From 1391b2d5f332dbfc1e7e7fd2b7ff725caf785994 Mon Sep 17 00:00:00 2001 From: "jim@bo" Date: Thu, 21 Jun 2018 20:05:50 -0400 Subject: PacketRequest deserialize should match serialize --- src/Data/PacketQueue.hs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/Data') diff --git a/src/Data/PacketQueue.hs b/src/Data/PacketQueue.hs index 8182706e..b5d8a756 100644 --- a/src/Data/PacketQueue.hs +++ b/src/Data/PacketQueue.hs @@ -220,11 +220,12 @@ getRequested getExtra pktoq snum ns = do toIndex = (`mod` qsize (pktoOutPQ pktoq)) toPNums :: Word32 -> [Word8] -> [Word32] - toPNums snum ns = reverse . snd $ foldl doOne ((snum - 1),[]) ns + toPNums snum ns = reverse . snd $ foldl doOne (snum,[]) ns where doOne :: (Word32,[Word32]) -> Word8 -> (Word32,[Word32]) doOne (addend,as) 0 = (addend+255,as) - doOne (addend,as) x = (addend,(fromIntegral x + addend):as) + doOne (addend,as) x = let y = fromIntegral x + addend + in (y,y:as) peekPacket :: STM extra -> PacketOutQueue extra msg wire fromwire -> msg -> STM (Maybe (wire,Word32)) peekPacket getExtra q@(PacketOutQueue { pktoInPQ, pktoOutPQ, pktoPacketNo, pktoToWireIO, pktoToWire }) msg -- cgit v1.2.3