From 9b998e4d0846ac702153caaa36bfc2fb4654a038 Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Wed, 15 Jun 2016 23:11:20 +0200 Subject: [PATCH] Fixed decompression of literals in dictionary mode --- lib/decompress/huf_decompress.c | 2 +- programs/playTests.sh | 46 ++++++++++++++++----------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/lib/decompress/huf_decompress.c b/lib/decompress/huf_decompress.c index 5a998ee2d..1580b3750 100644 --- a/lib/decompress/huf_decompress.c +++ b/lib/decompress/huf_decompress.c @@ -625,7 +625,7 @@ size_t HUF_decompress1X4_usingDTable( const HUF_DTable* DTable) { DTableDesc dtd = HUF_getDTableDesc(DTable); - if (dtd.tableType != 0) return ERROR(GENERIC); + if (dtd.tableType != 1) return ERROR(GENERIC); return HUF_decompress1X4_usingDTable_internal(dst, dstSize, cSrc, cSrcSize, DTable); } diff --git a/programs/playTests.sh b/programs/playTests.sh index 6dafb630a..60d413c99 100755 --- a/programs/playTests.sh +++ b/programs/playTests.sh @@ -133,6 +133,29 @@ diff tmpSparse2M tmpSparseRegenerated rm tmpSparse* +$ECHO "\n**** multiple files tests **** " + +./datagen -s1 > tmp1 2> /dev/null +./datagen -s2 -g100K > tmp2 2> /dev/null +./datagen -s3 -g1M > tmp3 2> /dev/null +$ZSTD -f tmp* +$ECHO "compress tmp* : " +ls -ls tmp* +rm tmp1 tmp2 tmp3 +$ECHO "decompress tmp* : " +$ZSTD -df *.zst +ls -ls tmp* +$ECHO "compress tmp* into stdout > tmpall : " +$ZSTD -c tmp1 tmp2 tmp3 > tmpall +ls -ls tmp* +$ECHO "decompress tmpall* into stdout > tmpdec : " +cp tmpall tmpall2 +$ZSTD -dc tmpall* > tmpdec +ls -ls tmp* +$ECHO "compress multiple files including a missing one (notHere) : " +$ZSTD -f tmp1 notHere tmp2 && die "missing file not detected!" + + $ECHO "\n**** dictionary tests **** " ./datagen > tmpDict @@ -168,29 +191,6 @@ rm -rf dirTestDict rm tmp* -$ECHO "\n**** multiple files tests **** " - -./datagen -s1 > tmp1 2> /dev/null -./datagen -s2 -g100K > tmp2 2> /dev/null -./datagen -s3 -g1M > tmp3 2> /dev/null -$ZSTD -f tmp* -$ECHO "compress tmp* : " -ls -ls tmp* -rm tmp1 tmp2 tmp3 -$ECHO "decompress tmp* : " -$ZSTD -df *.zst -ls -ls tmp* -$ECHO "compress tmp* into stdout > tmpall : " -$ZSTD -c tmp1 tmp2 tmp3 > tmpall -ls -ls tmp* -$ECHO "decompress tmpall* into stdout > tmpdec : " -cp tmpall tmpall2 -$ZSTD -dc tmpall* > tmpdec -ls -ls tmp* -$ECHO "compress multiple files including a missing one (notHere) : " -$ZSTD -f tmp1 notHere tmp2 && die "missing file not detected!" - - $ECHO "\n**** integrity tests **** " $ECHO "test one file (tmp1.zst) "