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  |