summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorYann Collet <cyan@fb.com>2022-07-13 18:43:37 (GMT)
committerYann Collet <cyan@fb.com>2022-07-13 18:43:37 (GMT)
commitc76c9c53ace36ce340d29d1df5eeedd8ba4d43bc (patch)
treedda3e7b35145256832772d8a9d538b37a1432ef4 /lib
parent270529e80e12f0aa1778d64047472d049129c15d (diff)
parent6adf4282c24422c5e4d30687610cec4c4cbc3d74 (diff)
downloadlz4-c76c9c53ace36ce340d29d1df5eeedd8ba4d43bc.zip
lz4-c76c9c53ace36ce340d29d1df5eeedd8ba4d43bc.tar.gz
lz4-c76c9c53ace36ce340d29d1df5eeedd8ba4d43bc.tar.bz2
Merge branch 'dev' into lz4f_customMem
Diffstat (limited to 'lib')
-rw-r--r--lib/lz4frame.c10
-rw-r--r--lib/lz4frame.h7
2 files changed, 11 insertions, 6 deletions
diff --git a/lib/lz4frame.c b/lib/lz4frame.c
index 8db6b46..6b4d67d 100644
--- a/lib/lz4frame.c
+++ b/lib/lz4frame.c
@@ -324,16 +324,16 @@ unsigned LZ4F_getVersion(void) { return LZ4F_VERSION; }
int LZ4F_compressionLevel_max(void) { return LZ4HC_CLEVEL_MAX; }
-size_t LZ4F_getBlockSize(unsigned blockSizeID)
+size_t LZ4F_getBlockSize(LZ4F_blockSizeID_t blockSizeID)
{
static const size_t blockSizes[4] = { 64 KB, 256 KB, 1 MB, 4 MB };
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
@@ -1345,7 +1345,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/lib/lz4frame.h b/lib/lz4frame.h
index 2c87564..1b4ee76 100644
--- a/lib/lz4frame.h
+++ b/lib/lz4frame.h
@@ -572,7 +572,12 @@ LZ4F_CustomMem const LZ4F_defaultCMem = { NULL, NULL, NULL, NULL }; /**< this c
LZ4FLIB_STATIC_API LZ4F_cctx* LZ4F_createCompressionContext_advanced(LZ4F_CustomMem customMem, unsigned version);
-LZ4FLIB_STATIC_API size_t LZ4F_getBlockSize(unsigned);
+
+/*! LZ4F_getBlockSize() :
+ * Return, in scalar format (size_t),
+ * the maximum block size associated with blockSizeID.
+**/
+LZ4FLIB_STATIC_API size_t LZ4F_getBlockSize(LZ4F_blockSizeID_t blockSizeID);
/*! LZ4F_uncompressedUpdate() :
* LZ4F_uncompressedUpdate() can be called repetitively to add as much data uncompressed data as necessary.