函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\zstd\decompress.c Create Date:2022-07-27 08:05:06
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:ZSTD_execSequenceLong

函数原型:size_t ZSTD_execSequenceLong(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
1266  oLitEnd等于oplitLength
1267  sequenceLength等于litLengthmatchLength
1268  oMatchEnd等于opsequenceLength
1269  oend_w等于oend! ZSTD_wildcopy() :* custom version of memcpy(), can copy up to 7 bytes too many (8 bytes if length==0)
1270  iLitEnd等于litPtrlitLength
1271  match等于match
1274  如果oMatchEnd大于oend则返回:-***************************************** Error codes handling(dstSize_tooSmall)
1276  如果iLitEnd大于litLimit则返回:-***************************************** Error codes handling(corruption_detected)
1278  如果oLitEnd大于oend_w则返回:ZSTD_execSequenceLast7(op, oend, sequence, litPtr, litLimit, base, vBase, dictEnd)
1282  -******************************************** Shared functions to include for inlining
1283  如果litLength大于8则ZSTD_wildcopy(op + 8, ( * litPtr) + 8, litLength - 8)
1286  op等于oLitEnd
1287  litPtr等于iLitEnd
1290  如果offset大于oLitEndbase
1292  如果offset大于oLitEndvBase则返回:-***************************************** Error codes handling(corruption_detected)
1294  如果matchmatchLength小于等于dictEnd
1296  返回:sequenceLength
1300  length1等于dictEndmatch
1302  op等于oLitEndlength1
1303  matchLength减等于length1
1304  match等于base
1305  如果op大于oend_wmatchLength小于MINMATCH
1307 i小于matchLength循环op[i]等于match[i]
1309  返回:sequenceLength
1316  如果offset小于8则
1318  static const U32 dec32table[] = {0, 1, 2, 1, 4, 4, 4, 4}
1319  static const int dec64table[] = {8, 8, 8, 7, 8, 9, 10, 11}
1320  sub2等于dec64table[offset]
1321  op[0]等于match[0]
1322  op[1]等于match[1]
1323  op[2]等于match[2]
1324  op[3]等于match[3]
1325  match加等于dec32table[offset]
1326  _******************************************************** Memory operations
1327  match减等于sub2
1328  否则
1329  -******************************************** Shared functions to include for inlining
1331  op加等于8
1332  match加等于8
1334  如果oMatchEnd大于oend减16减MINMATCH
1335  如果op小于oend_w
1337  match加等于oend_wop
1338  op等于oend_w
1340 op小于oMatchEnd循环
1341  op自加等于match自加
1342  否则
1343  ZSTD_wildcopy(op, match, (ptrdiff_t)matchLength - 8)
1345  返回:sequenceLength
调用者
名称描述
ZSTD_decompressSequencesLong