函数源码 |
Source File:lib\lz4\lz4hc_compress.c |
Create Date:2022-07-27 07:58:38 |
首页 | Copyright©Brick |
731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 | /* dictionary saving */ int LZ4_saveDictHC( LZ4_streamHC_t *LZ4_streamHCPtr, char *safeBuffer, int dictSize) { LZ4HC_CCtx_internal * const streamPtr = &LZ4_streamHCPtr->internal_donotuse; int const prefixSize = ( int )(streamPtr->end - (streamPtr->base + streamPtr->dictLimit)); if (dictSize > 64 * KB) dictSize = 64 * KB; if (dictSize < 4) dictSize = 0; if (dictSize > prefixSize) dictSize = prefixSize; memmove (safeBuffer, streamPtr->end - dictSize, dictSize); { U32 const endIndex = (U32)(streamPtr->end - streamPtr->base); streamPtr->end = ( const BYTE *)safeBuffer + dictSize; streamPtr->base = streamPtr->end - endIndex; streamPtr->dictLimit = endIndex - dictSize; streamPtr->lowLimit = endIndex - dictSize; if (streamPtr->nextToUpdate < streamPtr->dictLimit) streamPtr->nextToUpdate = streamPtr->dictLimit; } return dictSize; } |