Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\lz4\lz4_decompress.c Create Date:2022-07-28 07:01:19
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:*_continue() :* These decoding functions allow decompression of multiple blocks* in "streaming" mode

Proto:int LZ4_decompress_safe_continue(LZ4_streamDecode_t *LZ4_streamDecode, const char *source, char *dest, int compressedSize, int maxOutputSize)

Type:int

Parameter:

TypeParameterName
LZ4_streamDecode_t *LZ4_streamDecode
const char *source
char *dest
intcompressedSize
intmaxOutputSize
579  lz4sd = internal_donotuse
583  If prefixSize == 0 Then
585  assert(extDictSize == 0)
586  result = LZ4_decompress_safe(source, dest, compressedSize, maxOutputSize)
588  If result <= 0 Then Return result
590  prefixSize = result
591  prefixEnd = dest + result
592  Else if prefixEnd == dest Then
594  If prefixSize >= 64 * KB - 1 Then result = ===== Instantiate a few more decoding cases, used more than once. =====
597  Else if extDictSize == 0 Then result = LZ4_decompress_safe_withSmallPrefix(source, dest, compressedSize, maxOutputSize, prefixSize)
601  Else result = The "double dictionary" mode, for use with e.g. ring buffers: the first part* of the dictionary is passed as prefix, and the second via dictStart + dictSize.* These routines are used only once, in LZ4_decompress_*_continue().
606  If result <= 0 Then Return result
608  prefixSize += result
609  prefixEnd += result
610  Else
615  extDictSize = prefixSize
616  externalDict = prefixEnd - extDictSize
617  result = LZ4_decompress_safe_forceExtDict(source, dest, compressedSize, maxOutputSize, externalDict, extDictSize)
620  If result <= 0 Then Return result
622  prefixSize = result
623  prefixEnd = dest + result
626  Return result