summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYann Collet <cyan@fb.com>2022-07-13 14:18:22 (GMT)
committerYann Collet <cyan@fb.com>2022-07-13 14:18:22 (GMT)
commit832b444266053ab86d32b8a2f8b25a3f8abff703 (patch)
treebfe9f76eddf29139db6a26d5d79af292a232db69
parent7deae4bd22c0d3d264a5928058668ff177cc7323 (diff)
downloadlz4-832b444266053ab86d32b8a2f8b25a3f8abff703.zip
lz4-832b444266053ab86d32b8a2f8b25a3f8abff703.tar.gz
lz4-832b444266053ab86d32b8a2f8b25a3f8abff703.tar.bz2
fix stricter enum type requirements for C++
-rw-r--r--lib/lz4frame.c8
-rw-r--r--tests/frametest.c6
2 files changed, 7 insertions, 7 deletions
diff --git a/lib/lz4frame.c b/lib/lz4frame.c
index 2b20a87..5373083 100644
--- a/lib/lz4frame.c
+++ b/lib/lz4frame.c
@@ -292,9 +292,9 @@ size_t LZ4F_getBlockSize(LZ4F_blockSizeID_t blockSizeID)
if (blockSizeID == 0) blockSizeID = LZ4F_BLOCKSIZEID_DEFAULT;
if (blockSizeID < LZ4F_max64KB || blockSizeID > LZ4F_max4MB)
RETURN_ERROR(maxBlockSize_invalid);
- blockSizeID -= LZ4F_max64KB;
- return blockSizes[blockSizeID];
-}
+ { int const blockSizeIdx = (int)blockSizeID - (int)LZ4F_max64KB;
+ return blockSizes[blockSizeIdx];
+} }
/*-************************************
* Private functions
@@ -1291,7 +1291,7 @@ static size_t LZ4F_decodeHeader(LZ4F_dctx* dctx, const void* src, size_t srcSize
dctx->frameInfo.blockChecksumFlag = (LZ4F_blockChecksum_t)blockChecksumFlag;
dctx->frameInfo.contentChecksumFlag = (LZ4F_contentChecksum_t)contentChecksumFlag;
dctx->frameInfo.blockSizeID = (LZ4F_blockSizeID_t)blockSizeID;
- dctx->maxBlockSize = LZ4F_getBlockSize(blockSizeID);
+ dctx->maxBlockSize = LZ4F_getBlockSize((LZ4F_blockSizeID_t)blockSizeID);
if (contentSizeFlag)
dctx->frameRemainingSize =
dctx->frameInfo.contentSize = LZ4F_readLE64(srcPtr+6);
diff --git a/tests/frametest.c b/tests/frametest.c
index a496c3c..58eac38 100644
--- a/tests/frametest.c
+++ b/tests/frametest.c
@@ -686,20 +686,20 @@ int basicTests(U32 seed, double compressibility)
{ size_t result;
unsigned blockSizeID;
for (blockSizeID = 4; blockSizeID < 8; ++blockSizeID) {
- result = LZ4F_getBlockSize(blockSizeID);
+ result = LZ4F_getBlockSize((LZ4F_blockSizeID_t)blockSizeID);
CHECK(result);
DISPLAYLEVEL(3, "Returned block size of %u bytes for blockID %u \n",
(unsigned)result, blockSizeID);
}
/* Test an invalid input that's too large */
- result = LZ4F_getBlockSize(8);
+ result = LZ4F_getBlockSize((LZ4F_blockSizeID_t)8);
if(!LZ4F_isError(result) ||
LZ4F_getErrorCode(result) != LZ4F_ERROR_maxBlockSize_invalid)
goto _output_error;
/* Test an invalid input that's too small */
- result = LZ4F_getBlockSize(3);
+ result = LZ4F_getBlockSize((LZ4F_blockSizeID_t)3);
if(!LZ4F_isError(result) ||
LZ4F_getErrorCode(result) != LZ4F_ERROR_maxBlockSize_invalid)
goto _output_error;