From: Yann Collet Date: Fri, 16 Jun 2017 17:17:50 +0000 (-0700) Subject: added ZSTD_CCtx_reset X-Git-Tag: v1.3.0~1^2~17^2~44 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bd18c885a38d7cd93fe610c7e647e280198ada50;p=thirdparty%2Fzstd.git added ZSTD_CCtx_reset --- diff --git a/lib/compress/zstd_compress.c b/lib/compress/zstd_compress.c index 1d4f4f5a1..1be0e97b3 100644 --- a/lib/compress/zstd_compress.c +++ b/lib/compress/zstd_compress.c @@ -399,14 +399,14 @@ ZSTDLIB_API size_t ZSTD_CCtx_loadDictionary(ZSTD_CCtx* cctx, const void* dict, s } /* Not ready yet ! */ -ZSTDLIB_API size_t ZSTD_CCtx_refPrefix(ZSTD_CCtx* cctx, const void* prefix, size_t prefixSize) +size_t ZSTD_CCtx_refPrefix(ZSTD_CCtx* cctx, const void* prefix, size_t prefixSize) { (void)cctx; (void)prefix; (void)prefixSize; /* to be done later */ if (cctx->streamStage != zcss_init) return ERROR(stage_wrong); return ERROR(compressionParameter_unsupported); } -ZSTDLIB_API size_t ZSTD_CCtx_refCDict(ZSTD_CCtx* cctx, const ZSTD_CDict* cdict) +size_t ZSTD_CCtx_refCDict(ZSTD_CCtx* cctx, const ZSTD_CDict* cdict) { if (cctx->streamStage != zcss_init) return ERROR(stage_wrong); cctx->cdict = cdict; @@ -414,6 +414,13 @@ ZSTDLIB_API size_t ZSTD_CCtx_refCDict(ZSTD_CCtx* cctx, const ZSTD_CDict* cdict) } +void ZSTD_CCtx_reset(ZSTD_CCtx* cctx) +{ + cctx->streamStage = zcss_init; + cctx->frameContentSize = ZSTD_CONTENTSIZE_UNKNOWN; + cctx->cdict = NULL; +} + /** ZSTD_checkParams() : ensure param values remain within authorized range. @return : 0, or an error code if one value is beyond authorized range */ diff --git a/lib/zstd.h b/lib/zstd.h index eb72fc4e5..a19543814 100644 --- a/lib/zstd.h +++ b/lib/zstd.h @@ -819,10 +819,11 @@ ZSTDLIB_API size_t ZSTD_compress_generic (ZSTD_CCtx* cctx, /*! ZSTD_CCtx_reset() : * Return a CCtx to clean state. * Useful after an error, or to interrupt an ongoing compression job and start a new one. - * It's possible to modify compression parameters after a reset. * Any internal data not yet flushed is cancelled. + * Dictionary (if any) is dropped, next compression starts with srcSize==unknown by default. + * It's possible to modify compression parameters after a reset. */ -ZSTDLIB_API size_t ZSTD_CCtx_reset(ZSTD_CCtx* cctx); /* Not ready yet ! */ +ZSTDLIB_API void ZSTD_CCtx_reset(ZSTD_CCtx* cctx); /* Not ready yet ! */ /*! ZSTD_compress_generic_simpleArgs() :