Function report |
Source Code:lib\decompress_unlzo.c |
Create Date:2022-07-28 06:17:34 |
Last Modify:2020-03-15 22:52:05 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:unlzo
Proto:STATIC int __attribute__((__section__(".init.text"))) __attribute__((__cold__))unlzo(u8 *input, long in_len, long (*fill)(void *, unsigned long ), long (*flush)(void *, unsigned long ), u8 *output, long *posp, void (*error)(char *x))
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
u8 * | input | |
long | in_len | |
long (* | fill | |
long (* | flush | |
u8 * | output | |
long * | posp | |
void (* | error |
104 | r = 0 |
105 | skip = 0 |
109 | ret = -1 |
111 | If output Then |
113 | Else if Not flush Then |
116 | Else |
117 | out_buf = Use defines rather than static inline in order to avoid spurious* warnings when not needed (indeed large_malloc / large_free are not* needed by inflate (LZO_BLOCK_SIZE) |
118 | If Not out_buf Then |
127 | Else if input Then |
129 | Else if Not fill Then |
132 | Else |
134 | If Not in_buf Then |
139 | in_buf_save = in_buf |
144 | If fill Then |
151 | in_buf += HEADER_SIZE_MAX |
152 | in_len = fill(in_buf, HEADER_SIZE_MAX) |
155 | If Not parse_header(in_buf, & skip, in_len) Then |
162 | If fill Then |
164 | No 3D Now!(in_buf_save, in_buf, in_len) |
165 | in_buf = in_buf_save |
171 | cycle |
178 | If in_len < 4 Then |
182 | dst_len = get_unaligned_be32(in_buf) |
183 | in_buf += 4 |
184 | in_len -= 4 |
187 | If dst_len == 0 Then |
193 | If dst_len > LZO_BLOCK_SIZE Then |
204 | If in_len < 8 Then |
208 | src_len = get_unaligned_be32(in_buf) |
209 | in_buf += 8 |
210 | in_len -= 8 |
232 | If Value for the false possibility is greater at compile time(dst_len == src_len) Then No 3D Now!(out_buf, in_buf, src_len) |
234 | Else |
238 | If r != Return values (< 0 = Error) || dst_len != tmp Then |
253 | If fill Then |
261 | in_buf_save[skip] = in_buf[skip] |
262 | in_buf = in_buf_save |
266 | ret = 0 |
267 | exit_2 : |
268 | If Not input Then free(in_buf_save) |
270 | exit_1 : |
273 | exit : |
274 | Return ret |
Name | Describe |
---|---|
__decompress |
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 |