函数逻辑报告 |
Source Code:lib\zstd\decompress.c |
Create Date:2022-07-27 08:04:56 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:ZSTD_execSequence
函数原型:size_t ZSTD_execSequence(BYTE *op, BYTE *const oend, seq_t sequence, const BYTE **litPtr, const BYTE *const litLimit, const BYTE *const base, const BYTE *const vBase, const BYTE *const dictEnd)
返回类型:size_t
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| BYTE * | op | |
| BYTE *const | oend | |
| seq_t | sequence | |
| const BYTE ** | litPtr | |
| const BYTE *const | litLimit | |
| const BYTE *const | base | |
| const BYTE *const | vBase | |
| const BYTE *const | dictEnd |
| 1012 | oMatchEnd等于op加sequenceLength |
| 1013 | oend_w等于oend减! ZSTD_wildcopy() :* custom version of memcpy(), can copy up to 7 bytes too many (8 bytes if length==0) |
| 1018 | 如果oMatchEnd大于oend则返回:-***************************************** Error codes handling(dstSize_tooSmall) |
| 1020 | 如果iLitEnd大于litLimit则返回:-***************************************** Error codes handling(corruption_detected) |
| 1022 | 如果oLitEnd大于oend_w则返回:ZSTD_execSequenceLast7(op, oend, sequence, litPtr, litLimit, base, vBase, dictEnd) |
| 1027 | 如果litLength大于8则ZSTD_wildcopy(op + 8, ( * litPtr) + 8, litLength - 8) |
| 1036 | 如果offset大于oLitEnd减vBase则返回:-***************************************** Error codes handling(corruption_detected) |
| 1039 | 如果match加matchLength小于等于dictEnd则 |
| 1041 | 返回:sequenceLength |
| 1048 | matchLength减等于length1 |
| 1050 | 如果op大于oend_w或matchLength小于MINMATCH则 |
| 1054 | 返回:sequenceLength |
| 1061 | 如果offset小于8则 |
| 1063 | static const U32 dec32table[] = {0, 1, 2, 1, 4, 4, 4, 4} |
| 1064 | static const int dec64table[] = {8, 8, 8, 7, 8, 9, 10, 11} |
| 1065 | sub2等于dec64table[offset] |
| 1070 | match加等于dec32table[offset] |
| 1073 | 否则 |
| 1076 | op加等于8 |
| 1077 | match加等于8 |
| 1087 | 否则 |
| 1088 | ZSTD_wildcopy(op, match, (ptrdiff_t)matchLength - 8) |
| 1090 | 返回:sequenceLength |
| 名称 | 描述 |
|---|---|
| ZSTD_decompressSequences |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |