From: Paul Cruz Date: Fri, 9 Jun 2017 00:11:33 +0000 (-0700) Subject: set the lower bits of frame header descriptor if dictionary is needed X-Git-Tag: v1.3.0~1^2~15^2~71 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=233ee5334ee0e2dc549530e500a20c8cec1a4586;p=thirdparty%2Fzstd.git set the lower bits of frame header descriptor if dictionary is needed --- 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);