函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:The LZMA decoder assumes that if the input limit (s->rc

函数原型:static bool lzma2_lzma(struct xz_dec_lzma2 *s, struct xz_buf *b)

返回类型:bool

参数:

类型参数名称
struct xz_dec_lzma2 *s>temp.buf, which (hopefully) gets filled on the next call to this
struct xz_buf *b
851  in_avail等于in_sizein_pos
852  如果size大于0或* Compressed size of LZMA chunk or compressed/uncompressed * size of uncompressed chunk (64 KiB at maximum)恒等于0则
853  tmp等于2乘Minimum number of usable input buffer to safely decode one LZMA symbolsize
854  如果tmp大于* Compressed size of LZMA chunk or compressed/uncompressed * size of uncompressed chunk (64 KiB at maximum)sizetmp等于* Compressed size of LZMA chunk or compressed/uncompressed * size of uncompressed chunk (64 KiB at maximum)size
856  如果tmp大于in_availtmp等于in_avail
859  内存复制(buf + size, in + in_pos, tmp)
862  memzero(buf + size + tmp, buf的长度 - size - tmp)
865  in_limit等于sizetmp
867  size加等于tmp
868  in_pos加等于tmp
869  返回:true
870  否则
874  Buffer from which we read our input. It can be either* temp.buf or the caller-provided input buffer.等于buf
875  in_pos等于0
877  如果非LZMA decoder core in_pos大于sizetmp则返回:false
880  * Compressed size of LZMA chunk or compressed/uncompressed * size of uncompressed chunk (64 KiB at maximum)减等于in_pos
882  如果in_pos小于size
883  size减等于in_pos
886  返回:true
889  in_pos加等于in_possize
890  size等于0
893  in_avail等于in_sizein_pos
894  如果in_avail大于等于Minimum number of usable input buffer to safely decode one LZMA symbol
895  Buffer from which we read our input. It can be either* temp.buf or the caller-provided input buffer.等于in
896  in_pos等于in_pos
898  如果in_avail大于等于* Compressed size of LZMA chunk or compressed/uncompressed * size of uncompressed chunk (64 KiB at maximum)Minimum number of usable input buffer to safely decode one LZMA symbolin_limit等于in_pos* Compressed size of LZMA chunk or compressed/uncompressed * size of uncompressed chunk (64 KiB at maximum)
900  否则in_limit等于in_sizeMinimum number of usable input buffer to safely decode one LZMA symbol
903  如果非LZMA decoder core 则返回:false
906  in_avail等于in_posin_pos
907  如果in_avail大于* Compressed size of LZMA chunk or compressed/uncompressed * size of uncompressed chunk (64 KiB at maximum)则返回:false
910  * Compressed size of LZMA chunk or compressed/uncompressed * size of uncompressed chunk (64 KiB at maximum)减等于in_avail
911  in_pos等于in_pos
914  in_avail等于in_sizein_pos
915  如果in_avail小于Minimum number of usable input buffer to safely decode one LZMA symbol
916  如果in_avail大于* Compressed size of LZMA chunk or compressed/uncompressed * size of uncompressed chunk (64 KiB at maximum)in_avail等于* Compressed size of LZMA chunk or compressed/uncompressed * size of uncompressed chunk (64 KiB at maximum)
919  内存复制(buf, in + in_pos, in_avail)
920  size等于in_avail
921  in_pos加等于in_avail
924  返回:true
调用者
名称描述
xz_dec_lzma2_runTake care of the LZMA2 control layer, and forward the job of actual LZMA* decoding or copying of uncompressed chunks to other functions.