函数逻辑报告 |
Source Code:lib\zstd\decompress.c |
Create Date:2022-07-27 08:05:10 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:ZSTD_decompressSequencesLong
函数原型:static size_t ZSTD_decompressSequencesLong(ZSTD_DCtx *dctx, void *dst, size_t maxDstSize, const void *seqStart, size_t seqSize)
返回类型:size_t
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| ZSTD_DCtx * | dctx | |
| void * | dst | |
| size_t | maxDstSize | |
| const void * | seqStart | |
| size_t | seqSize |
| 1353 | oend等于ostart加maxDstSize |
| 1360 | windowSize等于windowSize |
| 1372 | 如果nbSeq则 |
| 1381 | fseEntropy等于1 |
| 1384 | 以i小于umber of repcodes 循环prevOffset[i]等于rep[i] |
| 1391 | FSE_initDState( & stateLL, & DStream, LLTptr) |
| 1392 | FSE_initDState( & stateOffb, & DStream, OFTptr) |
| 1393 | FSE_initDState( & stateML, & DStream, MLTptr) |
| 1396 | 以BIT_reloadDStream( & DStream)小于等于BIT_DStream_completed且seqNb小于seqAdvance循环 |
| 1397 | sequences[seqNb]等于ZSTD_decodeSequenceLong( & seqState, windowSize) |
| 1399 | 如果seqNb小于seqAdvance则返回:-***************************************** Error codes handling(corruption_detected) |
| 1403 | 以BIT_reloadDStream( & (DStream))小于等于BIT_DStream_completed且seqNb小于nbSeq循环 |
| 1404 | sequence等于ZSTD_decodeSequenceLong( & seqState, windowSize) |
| 1405 | oneSeqSize等于ZSTD_execSequenceLong(op, oend, sequences[(seqNb - ADVANCED_SEQS) & STOSEQ_MASK], & litPtr, litEnd, base, vBase, dictEnd) |
| 1407 | 如果ZSTD_isError() - tells if a size_t function result is an error code*@code: The function result to check for error.* Return: Non-zero iff the code is an error.则返回:oneSeqSize |
| 1409 | ZSTD_PREFETCH(match) |
| 1410 | sequences[seqNb & STOSEQ_MASK]等于sequence |
| 1411 | op加等于oneSeqSize |
| 1413 | 如果seqNb小于nbSeq则返回:-***************************************** Error codes handling(corruption_detected) |
| 1417 | seqNb减等于seqAdvance |
| 1419 | oneSeqSize等于ZSTD_execSequenceLong(op, oend, sequences[seqNb & STOSEQ_MASK], & litPtr, litEnd, base, vBase, dictEnd) |
| 1420 | 如果ZSTD_isError() - tells if a size_t function result is an error code*@code: The function result to check for error.* Return: Non-zero iff the code is an error.则返回:oneSeqSize |
| 1422 | op加等于oneSeqSize |
| 1428 | 以i小于umber of repcodes 循环rep[i]等于prevOffset[i] |
| 1435 | lastLLSize等于litEnd减litPtr |
| 1436 | 如果lastLLSize大于oend减op则返回:-***************************************** Error codes handling(dstSize_tooSmall) |
| 1438 | 内存复制(op, litPtr, lastLLSize) |
| 1439 | op加等于lastLLSize |
| 名称 | 描述 |
|---|---|
| ZSTD_decompressBlock_internal |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |