Function report |
Source Code:lib\xz\xz_dec_stream.c |
Create Date:2022-07-28 07:08:28 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:dec_main
Proto:static enum xz_ret dec_main(struct xz_dec *s, struct xz_buf *b)
Type:enum xz_ret
Parameter:
Type | Parameter | Name |
---|---|---|
struct xz_dec * | s | |
struct xz_buf * | b |
559 | When (true) cycle |
561 | Case Position in dec_main() == SEQ_STREAM_HEADER |
588 | Case Position in dec_main() == SEQ_BLOCK_START |
604 | Size of the Block Header field = (in[in_pos] + 1) * 4 |
608 | pos = 0 |
613 | Case Position in dec_main() == SEQ_BLOCK_HEADER |
625 | Case Position in dec_main() == SEQ_BLOCK_UNCOMPRESS |
627 | If ret != XZ_STREAM_END Then Return ret |
634 | Case Position in dec_main() == SEQ_BLOCK_PADDING |
642 | When Observed compressed size of the current Block & 3 cycle |
646 | If in[in_pos++] != 0 Then Return XZ_DATA_ERROR |
656 | Case Position in dec_main() == SEQ_BLOCK_CHECK |
659 | If ret != XZ_STREAM_END Then Return ret |
669 | Break |
671 | Case Position in dec_main() == SEQ_INDEX |
673 | If ret != XZ_STREAM_END Then Return ret |
680 | Case Position in dec_main() == SEQ_INDEX_PADDING |
681 | When Size of the Index in bytes + in_pos - Saved in_pos and out_pos & 3 cycle |
685 | Return XZ_OK |
688 | If in[in_pos++] != 0 Then Return XZ_DATA_ERROR |
704 | Case Position in dec_main() == SEQ_INDEX_CRC32 |
706 | If ret != XZ_STREAM_END Then Return ret |
714 | Case Position in dec_main() == SEQ_STREAM_FOOTER |
Name | Describe |
---|---|
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 |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |