From 233ee5334ee0e2dc549530e500a20c8cec1a4586 Mon Sep 17 00:00:00 2001 From: Paul Cruz Date: Thu, 8 Jun 2017 17:11:33 -0700 Subject: [PATCH] set the lower bits of frame header descriptor if dictionary is needed --- tests/decodecorpus.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/decodecorpus.c b/tests/decodecorpus.c index 8f2e652cd..502ea3339 100644 --- a/tests/decodecorpus.c +++ b/tests/decodecorpus.c @@ -240,7 +240,7 @@ struct { } opts; /* advanced options on generation */ /* Generate and write a random frame header */ -static void writeFrameHeader(U32* seed, frame_t* frame) +static void writeFrameHeader(U32* seed, frame_t* frame, int genDict) { BYTE* const op = frame->data; size_t pos = 0; @@ -308,6 +308,8 @@ static void writeFrameHeader(U32* seed, frame_t* frame) { BYTE const frameHeaderDescriptor = (BYTE) ((fcsCode << 6) | (singleSegment << 5) | (1 << 2)); + if(genDict) + frameHeaderDescriptor += 3; /* set lower bits for dictionary ID */ op[pos++] = frameHeaderDescriptor; } @@ -1126,8 +1128,8 @@ static U32 generateFrame(U32 seed, frame_t* fr, int genDict, size_t dictSize) /* generate a complete frame */ DISPLAYLEVEL(1, "frame seed: %u\n", seed); initFrame(fr); - - writeFrameHeader(&seed, fr); + + writeFrameHeader(&seed, fr, genDict); writeBlocks(&seed, fr); writeChecksum(fr);