From: Yann Collet Date: Fri, 27 Nov 2015 12:26:38 +0000 (+0100) Subject: coalesce block+header size (buffered mode) X-Git-Tag: zstd-0.4.0^2~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=944042ab7dae430a63481e39d75d4029c5ea2790;p=thirdparty%2Fzstd.git coalesce block+header size (buffered mode) --- diff --git a/lib/zstd_buffered.c b/lib/zstd_buffered.c index 7cf61ed84..b7937f1d8 100644 --- a/lib/zstd_buffered.c +++ b/lib/zstd_buffered.c @@ -523,7 +523,12 @@ size_t ZBUFF_decompressContinue(ZBUFF_DCtx* zbc, void* dst, size_t* maxDstSizePt *srcSizePtr = ip-istart; *maxDstSizePtr = op-ostart; - return ZSTD_nextSrcSizeToDecompress(zbc->zc) - zbc->inPos; + { + size_t nextSrcSizeHint = ZSTD_nextSrcSizeToDecompress(zbc->zc); + if (nextSrcSizeHint > 3) nextSrcSizeHint+= 3; /* get the next block header while at it */ + nextSrcSizeHint -= zbc->inPos; /* already loaded*/ + return nextSrcSizeHint; + } }