函数逻辑报告 |
Source Code:lib\zlib_inflate\inffast.c |
Create Date:2022-07-27 07:55:00 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称: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
函数原型:void inflate_fast(z_streamp strm, unsigned start)
返回类型:void
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| 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 |
| 122 | end等于out加 remaining free space at next_out 减257 |
| 128 | write等于window write index |
| 130 | hold等于put bit accumulator |
| 134 | lmask等于1U左移dex bits for lencode 位的值减1 |
| 135 | dmask等于1U左移dex bits for distcode 位的值减1 |
| 139 | 循环 |
| 140 | 如果bits小于15则 |
| 147 | dolen : |
| 152 | 如果op恒等于0则 |
| 155 | 否则如果op按位与16则 |
| 157 | op与等于15 |
| 158 | 如果op则 |
| 167 | 如果bits小于15则 |
| 174 | dodist : |
| 179 | 如果op按位与16则 |
| 181 | op与等于15 |
| 204 | last error message, NULL if no error 等于"invalid distance too far back" |
| 206 | 退出 |
| 209 | 如果write恒等于0则 |
| 238 | 否则 |
| 254 | 如果len则 |
| 260 | 否则 |
| 307 | 否则如果op按位与64的值恒等于0则 |
| 311 | 否则 |
| 312 | last error message, NULL if no error 等于"invalid distance code" |
| 314 | 退出 |
| 317 | 否则如果op按位与64的值恒等于0则 |
| 321 | 否则如果op按位与32则 |
| 325 | 否则 |
| 326 | last error message, NULL if no error 等于"invalid literal/length code" |
| 328 | 退出 |
| 339 | next input byte 等于in加OFF |
| 344 | put bit accumulator 等于hold |
| 345 | umber of bits in "in" 等于bits |
| 346 | 返回 |
| 名称 | 描述 |
|---|---|
| zlib_inflate | late() uses a state machine to process as much input data and generate asmuch output data as possible before returning |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |