函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |