函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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
注解内核,赢得工具下载SCCTEnglish

函数名称: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 *constoend
seq_tsequence
const BYTE **litPtr
const BYTE *constlitLimit
const BYTE *constbase
const BYTE *constvBase
const BYTE *constdictEnd
1010  oLitEnd等于oplitLength
1011  sequenceLength等于litLengthmatchLength
1012  oMatchEnd等于opsequenceLength
1013  oend_w等于oend! ZSTD_wildcopy() :* custom version of memcpy(), can copy up to 7 bytes too many (8 bytes if length==0)
1014  iLitEnd等于litPtrlitLength
1015  match等于oLitEndoffset
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)
1026  -******************************************** Shared functions to include for inlining
1027  如果litLength大于8则ZSTD_wildcopy(op + 8, ( * litPtr) + 8, litLength - 8)
1030  op等于oLitEnd
1031  litPtr等于iLitEnd
1034  如果offset大于oLitEndbase
1036  如果offset大于oLitEndvBase则返回:-***************************************** Error codes handling(corruption_detected)
1038  match等于dictEndmatchbase
1039  如果matchmatchLength小于等于dictEnd
1041  返回:sequenceLength
1045  length1等于dictEndmatch
1047  op等于oLitEndlength1
1048  matchLength减等于length1
1049  match等于base
1050  如果op大于oend_wmatchLength小于MINMATCH
1052 i小于matchLength循环op[i]等于match[i]
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]
1066  op[0]等于match[0]
1067  op[1]等于match[1]
1068  op[2]等于match[2]
1069  op[3]等于match[3]
1070  match加等于dec32table[offset]
1071  _******************************************************** Memory operations
1072  match减等于sub2
1073  否则
1074  -******************************************** Shared functions to include for inlining
1076  op加等于8
1077  match加等于8
1079  如果oMatchEnd大于oend减16减MINMATCH
1080  如果op小于oend_w
1082  match加等于oend_wop
1083  op等于oend_w
1085 op小于oMatchEnd循环
1086  op自加等于match自加
1087  否则
1088  ZSTD_wildcopy(op, match, (ptrdiff_t)matchLength - 8)
1090  返回:sequenceLength
调用者
名称描述
ZSTD_decompressSequences