函数逻辑报告 |
Source Code:lib\zstd\decompress.c |
Create Date:2022-07-27 08:04:35 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称: : decompressed size of the frames contained
函数原型:unsigned long long ZSTD_findDecompressedSize(const void *src, size_t srcSize)
返回类型:unsigned long long
参数:
类型 | 参数 | 名称 |
---|---|---|
const void * | src | |
size_t | srcSize |
322 | totalDstSize等于0 |
323 | 当srcSize大于等于ZSTD_frameHeaderSize_prefix循环 |
324 | magicNumber等于ZSTD_readLE32(src) |
326 | 如果magicNumber按位与0xFFFFFFF0U的值恒等于ZSTD_MAGIC_SKIPPABLE_START则 |
328 | 如果srcSize小于magic number + skippable frame length 则返回:-***************************************** Error codes handling(srcSize_wrong) |
330 | skippableSize等于ZSTD_readLE32((constBYTE * )src + 4)加magic number + skippable frame length |
331 | 如果srcSize小于skippableSize则 |
332 | 返回:ZSTD_CONTENTSIZE_ERROR |
335 | src等于src加skippableSize |
336 | srcSize减等于skippableSize |
337 | 继续下一循环 |
342 | 如果ret大于等于ZSTD_CONTENTSIZE_ERROR则返回:ret |
346 | 如果totalDstSize加ret小于totalDstSize则返回:ZSTD_CONTENTSIZE_ERROR |
348 | totalDstSize加等于ret |
353 | 返回:ZSTD_CONTENTSIZE_ERROR |
356 | src等于src加frameSrcSize |
357 | srcSize减等于frameSrcSize |
361 | 如果srcSize则 |
362 | 返回:ZSTD_CONTENTSIZE_ERROR |
365 | 返回:totalDstSize |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |
摘要:ZSTD_findDecompressedSize() :* compatible with legacy mode* `srcSize` must be the exact length of some number of ZSTD compressed and/or* skippable frames