函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\zstd\decompress.c Create Date:2022-07-27 08:04:42
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称: : nb of bytes read from src (< srcSize )

函数原型:size_t ZSTD_decodeLiteralsBlock(ZSTD_DCtx *dctx, const void *src, size_t srcSize)

返回类型:size_t

参数:

类型参数名称
ZSTD_DCtx *dctx
const void *src
size_tsrcSize

摘要:! ZSTD_decodeLiteralsBlock() :

434  如果srcSize小于r a non-null block 则返回:-***************************************** Error codes handling(corruption_detected)
438  istart等于src
439  litEncType等于istart[0]按位与3
442  :litEncType恒等于set_repeat
446  :litEncType恒等于set_compressed
451  singleStream等于0
452  lhlCode等于istart[0]右移2位按位与3
453  lhc等于ZSTD_readLE32(istart)
455  :lhlCode恒等于0
456  :lhlCode恒等于1
457  默认
459  singleStream等于非lhlCode
460  lhSize等于3
461  litSize等于lhc右移4位按位与0x3FF
462  litCSize等于lhc右移14位按位与0x3FF
463  退出
464  :lhlCode恒等于2
466  lhSize等于4
467  litSize等于lhc右移4位按位与0x3FFF
468  litCSize等于lhc右移18位
469  退出
470  :lhlCode恒等于3
472  lhSize等于5
473  litSize等于lhc右移4位按位与0x3FFFF
474  litCSize等于lhc右移22位的值加istart[4]左移10位的值
475  退出
493  litPtr等于litBuffer
494  litSize等于litSize
495  litEntropy等于1
496  如果litEncType恒等于set_compressedHUFptr等于hufTable
499  返回:litCSizelhSize
502  :litEncType恒等于set_basic
504  lhlCode等于istart[0]右移2位按位与3
506  :lhlCode恒等于0
507  :lhlCode恒等于2
508  默认
509  lhSize等于1
510  litSize等于istart[0]右移3位
511  退出
512  :lhlCode恒等于1
513  lhSize等于2
514  litSize等于=== Little endian r/w ===右移4位
515  退出
516  :lhlCode恒等于3
517  lhSize等于3
518  litSize等于ZSTD_readLE24(istart)右移4位
519  退出
526  litPtr等于litBuffer
527  litSize等于litSize
529  返回:lhSizelitSize
532  litPtr等于istartlhSize
533  litSize等于litSize
534  返回:lhSizelitSize
537  :litEncType恒等于set_rle
538  lhlCode等于istart[0]右移2位按位与3
541  :lhlCode恒等于0
542  :lhlCode恒等于2
543  默认
544  lhSize等于1
545  litSize等于istart[0]右移3位
546  退出
547  :lhlCode恒等于1
548  lhSize等于2
549  litSize等于=== Little endian r/w ===右移4位
550  退出
551  :lhlCode恒等于3
552  lhSize等于3
553  litSize等于ZSTD_readLE24(istart)右移4位
556  退出
558  如果litSize大于Define for static allocation 则返回:-***************************************** Error codes handling(corruption_detected)
560  memset(litBuffer, istart[lhSize], litSize + ! ZSTD_wildcopy() :* custom version of memcpy(), can copy up to 7 bytes too many (8 bytes if length==0) )
561  litPtr等于litBuffer
562  litSize等于litSize
563  返回:lhSize加1
565  默认
566  返回:-***************************************** Error codes handling(corruption_detected)
调用者
名称描述
ZSTD_decompressBlock_internal