mirror of
https://github.com/facebook/zstd.git
synced 2025-12-15 00:04:04 -05:00
fix #942 : streaming interface does not compress after ZSTD_initCStream()
While the final result is still, technically, a frame, the resulting frame expands initial data instead of compressing it. This is because the streaming API creates a tiny 1-byte buffer for input, because it believes input is empty (0-bytes), because in the past, 0 used to mean "unknown" instead. This patch fixes the issue. Todo : add a test which traps the issue.
This commit is contained in:
parent
896980ec15
commit
3aa2b27a89
@ -2466,6 +2466,7 @@ size_t ZSTD_compress_usingCDict(ZSTD_CCtx* cctx,
|
||||
|
||||
ZSTD_CStream* ZSTD_createCStream(void)
|
||||
{
|
||||
DEBUGLOG(3, "ZSTD_createCStream");
|
||||
return ZSTD_createCStream_advanced(ZSTD_defaultCMem);
|
||||
}
|
||||
|
||||
@ -2633,7 +2634,8 @@ size_t ZSTD_initCStream_srcSize(ZSTD_CStream* zcs, int compressionLevel, unsigne
|
||||
|
||||
size_t ZSTD_initCStream(ZSTD_CStream* zcs, int compressionLevel)
|
||||
{
|
||||
return ZSTD_initCStream_srcSize(zcs, compressionLevel, 0);
|
||||
DEBUGLOG(4, "ZSTD_initCStream");
|
||||
return ZSTD_initCStream_srcSize(zcs, compressionLevel, ZSTD_CONTENTSIZE_UNKNOWN);
|
||||
}
|
||||
|
||||
/*====== Compression ======*/
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user