Single-file decoder script can now (optionally) create an encoder

To complement the single-file decoder a new script was added to create an amalgamated single-file of all of the Zstd source, along with examples and (simple) tests.
This commit is contained in:
Carl Woffenden
2020-04-03 19:07:46 +02:00
parent 7202184ee0
commit 7c420344d2
21 changed files with 5390 additions and 3326 deletions
+2
View File
@@ -626,7 +626,9 @@ size_t FSE_compress_usingCTable (void* dst, size_t dstSize,
size_t FSE_compressBound(size_t size) { return FSE_COMPRESSBOUND(size); }
#define CHECK_V_F(e, f) size_t const e = f; if (ERR_isError(e)) return e
#ifndef CHECK_F
#define CHECK_F(f) { CHECK_V_F(_var_err__, f); }
#endif
/* FSE_compress_wksp() :
* Same as FSE_compress2(), but using an externally allocated scratch buffer (`workSpace`).
+2
View File
@@ -41,7 +41,9 @@
#define HUF_isError ERR_isError
#define HUF_STATIC_ASSERT(c) DEBUG_STATIC_ASSERT(c) /* use only *after* variable declarations */
#define CHECK_V_F(e, f) size_t const e = f; if (ERR_isError(e)) return e
#ifndef CHECK_F
#define CHECK_F(f) { CHECK_V_F(_var_err__, f); }
#endif
/* **************************************************************
+6 -3
View File
@@ -3749,13 +3749,16 @@ static size_t ZSTD_nextInputSizeHint(const ZSTD_CCtx* cctx)
return hintInSize;
}
static size_t ZSTD_limitCopy(void* dst, size_t dstCapacity,
const void* src, size_t srcSize)
#ifndef ZSTD_DECOMPRESS_INTERNAL_H /* zstd_decompress.c has the same function */
MEM_STATIC size_t ZSTD_limitCopy(void* dst, size_t dstCapacity, const void* src, size_t srcSize)
{
size_t const length = MIN(dstCapacity, srcSize);
if (length) memcpy(dst, src, length);
if (length > 0) {
memcpy(dst, src, length);
}
return length;
}
#endif
/** ZSTD_compressStream_generic():
* internal function for all *compressStream*() variants