函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |