函数逻辑报告 |
Source Code:lib\xz\xz_dec_stream.c |
Create Date:2022-07-27 08:06:23 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:dec_main
函数原型:static enum xz_ret dec_main(struct xz_dec *s, struct xz_buf *b)
返回类型:enum xz_ret
参数:
类型 | 参数 | 名称 |
---|---|---|
struct xz_dec * | s | |
struct xz_buf * | b |
559 | 当(true)循环 |
561 | 当: Position in dec_main() 恒等于SEQ_STREAM_HEADER |
588 | 当: Position in dec_main() 恒等于SEQ_BLOCK_START |
604 | Size of the Block Header field 等于in[in_pos]加1的和乘4 |
608 | pos等于0 |
613 | 当: Position in dec_main() 恒等于SEQ_BLOCK_HEADER |
627 | 如果ret不等于XZ_STREAM_END则返回:ret |
634 | 当: Position in dec_main() 恒等于SEQ_BLOCK_PADDING |
646 | 如果in[in_pos++]不等于0则返回:XZ_DATA_ERROR |
656 | 当: Position in dec_main() 恒等于SEQ_BLOCK_CHECK |
659 | 如果ret不等于XZ_STREAM_END则返回:ret |
669 | 退出 |
671 | 当: Position in dec_main() 恒等于SEQ_INDEX |
673 | 如果ret不等于XZ_STREAM_END则返回:ret |
680 | 当: Position in dec_main() 恒等于SEQ_INDEX_PADDING |
685 | 返回:XZ_OK |
688 | 如果in[in_pos++]不等于0则返回:XZ_DATA_ERROR |
704 | 当: Position in dec_main() 恒等于SEQ_INDEX_CRC32 |
706 | 如果ret不等于XZ_STREAM_END则返回:ret |
714 | 当: Position in dec_main() 恒等于SEQ_STREAM_FOOTER |
名称 | 描述 |
---|---|
xz_dec_run | xz_dec_run() is a wrapper for dec_main() to handle some special cases in* multi-call and single-call decoding.* In multi-call mode, we must return XZ_BUF_ERROR when it seems clear that we* are not going to make any progress anymore |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |