Function report |
Source Code:lib\zlib_inflate\inffast.c |
Create Date:2022-07-28 06:57:44 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Decode literal, length, and distance codes and write out the resultingliteral and match bytes until either not enough input or output isavailable, an end-of-block is encountered, or a data error is encountered
Proto:void inflate_fast(z_streamp strm, unsigned start)
Type:void
Parameter:
| Type | Parameter | Name |
|---|---|---|
| z_streamp | strm | >avail_in >= 6 |
| unsigned | start |
| 118 | in = next input byte - OFF |
| 119 | last = in + number of bytes available at next_in - 5 |
| 121 | beg = out - start - remaining free space at next_out |
| 122 | end = out + remaining free space at next_out - 257 |
| 128 | write = window write index |
| 130 | hold = put bit accumulator |
| 131 | bits = umber of bits in "in" |
| 134 | lmask = (1U << dex bits for lencode ) - 1 |
| 135 | dmask = (1U << dex bits for distcode ) - 1 |
| 139 | Do |
| 140 | If bits < 15 Then |
| 147 | dolen : |
| 148 | op = s in this part of the code |
| 152 | If op == 0 Then |
| 153 | PUP(out) = ffset in table or code value |
| 155 | Else if op & 16 Then |
| 157 | op &= 15 |
| 158 | If op Then |
| 167 | If bits < 15 Then |
| 174 | dodist : |
| 175 | op = s in this part of the code |
| 179 | If op & 16 Then |
| 181 | op &= 15 |
| 184 | bits += 8 |
| 204 | last error message, NULL if no error = "invalid distance too far back" |
| 206 | Break |
| 209 | If write == 0 Then |
| 238 | Else |
| 254 | If len Then |
| 260 | Else |
| 307 | Else if (op & 64) == 0 Then |
| 311 | Else |
| 312 | last error message, NULL if no error = "invalid distance code" |
| 314 | Break |
| 317 | Else if (op & 64) == 0 Then |
| 321 | Else if op & 32 Then |
| 323 | Break |
| 325 | Else |
| 326 | last error message, NULL if no error = "invalid literal/length code" |
| 328 | Break |
| 339 | next input byte = in + OFF |
| 344 | put bit accumulator = hold |
| 345 | umber of bits in "in" = bits |
| 346 | Return |
| Name | Describe |
|---|---|
| zlib_inflate | late() uses a state machine to process as much input data and generate asmuch output data as possible before returning |
| 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 |