Function report |
Source Code:lib\lzo\lzo1x_decompress_safe.c |
Create Date:2022-07-28 07:00:21 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:lzo1x_decompress_safe
Proto:int lzo1x_decompress_safe(const unsigned char *in, size_t in_len, unsigned char *out, size_t *out_len)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
const unsigned char * | in | |
size_t | in_len | |
unsigned char * | out | |
size_t * | out_len |
45 | state = 0 |
55 | If Value for the false possibility is greater at compile time(in_len < 3) Then Go to input_overrun |
58 | If Value is more likely to compile time(in_len >= 5) && Value is more likely to compile time( * ip == 17) Then |
59 | bitstream_version = ip[1] |
60 | ip += 2 |
61 | Else |
62 | bitstream_version = 0 |
65 | If ip > 17 Then |
74 | cycle |
76 | If t < 16 Then |
77 | If Value is more likely to compile time(state == 0) Then |
78 | If Value for the false possibility is greater at compile time(t == 0) Then |
82 | When Value for the false possibility is greater at compile time( * ip == 0) cycle |
93 | t += 3 |
94 | copy_literal_run : |
118 | state = 4 |
119 | Continue |
120 | Else if state != 4 Then |
131 | Else |
138 | Else if t >= 64 Then |
144 | Else if t >= 32 Then |
146 | If Value for the false possibility is greater at compile time(t == 2) Then |
150 | When Value for the false possibility is greater at compile time( * ip == 0) cycle |
160 | NEED_IP(2) |
163 | next = get_unaligned_le16(ip) |
164 | ip += 2 |
166 | next &= 3 |
167 | Else |
168 | NEED_IP(2) |
169 | next = get_unaligned_le16(ip) |
170 | If (next & 0xfffc) == 0xfffc && (t & 0xf8) == 0x18 && Value is more likely to compile time(bitstream_version) Then |
173 | NEED_IP(3) |
174 | t &= 7 |
176 | t += MIN_ZERO_RUN_LENGTH |
180 | next &= 3 |
181 | ip += 3 |
182 | Go to match_next |
183 | Else |
187 | If Value for the false possibility is greater at compile time(t == 2) Then |
191 | When Value for the false possibility is greater at compile time( * ip == 0) cycle |
201 | NEED_IP(2) |
202 | next = get_unaligned_le16(ip) |
204 | ip += 2 |
206 | next &= 3 |
209 | m_pos -= 0x4000 |
252 | match_next : |
272 | eof_found : |
274 | Return If If If t != 3 Then LZO_E_ERROR Else ip == ip_end Then Return values (< 0 = Error) Else ip < ip_end Then LZO_E_INPUT_NOT_CONSUMED Else LZO_E_INPUT_OVERRUN |
278 | input_overrun : |
280 | Return LZO_E_INPUT_OVERRUN |
282 | output_overrun : |
284 | Return LZO_E_OUTPUT_OVERRUN |
286 | lookbehind_overrun : |
288 | Return LZO_E_LOOKBEHIND_OVERRUN |
Name | Describe |
---|---|
unlzo |
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 |