]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
Advanced API change : Cctx & DCtx are now incomplete types for stricter type checking
authorYann Collet <yann.collet.73@gmail.com>
Sun, 5 Jul 2015 02:20:42 +0000 (18:20 -0800)
committerYann Collet <yann.collet.73@gmail.com>
Sun, 5 Jul 2015 02:20:42 +0000 (18:20 -0800)
lib/zstd.c
lib/zstd_static.h
programs/fileio.c

index a4e77fd3ea1a32953180adfe27cf1b902fbecd9b..b97e27fdd14c809fec1f54b0245e0350b8c0f33e 100644 (file)
@@ -310,7 +310,7 @@ void ZSTD_resetSeqStore(seqStore_t* ssPtr)
 }
 
 
-typedef struct
+typedef struct ZSTD_Cctx_s
 {
     const BYTE* base;
     U32 current;
@@ -324,7 +324,7 @@ typedef struct
 } cctxi_t;
 
 
-ZSTD_cctx_t ZSTD_createCCtx(void)
+ZSTD_Cctx* ZSTD_createCCtx(void)
 {
     cctxi_t* ctx = (cctxi_t*) malloc( sizeof(cctxi_t) );
     ctx->seqStore.buffer = malloc(WORKPLACESIZE);
@@ -333,17 +333,17 @@ ZSTD_cctx_t ZSTD_createCCtx(void)
     ctx->seqStore.litLengthStart =  ctx->seqStore.litStart + BLOCKSIZE;
     ctx->seqStore.matchLengthStart = ctx->seqStore.litLengthStart + (BLOCKSIZE>>2);
     ctx->seqStore.dumpsStart = ctx->seqStore.matchLengthStart + (BLOCKSIZE>>2);
-    return (ZSTD_cctx_t)ctx;
+    return (ZSTD_Cctx* )ctx;
 }
 
-void ZSTD_resetCCtx(ZSTD_cctx_t cctx)
+void ZSTD_resetCCtx(ZSTD_Cctx*  cctx)
 {
     cctxi_t* ctx = (cctxi_t*)cctx;
     ctx->base = NULL;
     memset(ctx->hashTable, 0, HASH_TABLESIZE*4);
 }
 
-size_t ZSTD_freeCCtx(ZSTD_cctx_t cctx)
+size_t ZSTD_freeCCtx(ZSTD_Cctx*  cctx)
 {
     cctxi_t* ctx = (cctxi_t*) (cctx);
     free(ctx->seqStore.buffer);
@@ -996,7 +996,7 @@ static size_t ZSTD_compressBlock(void* cctx, void* dst, size_t maxDstSize, const
 }
 
 
-size_t ZSTD_compressBegin(ZSTD_cctx_t ctx, void* dst, size_t maxDstSize)
+size_t ZSTD_compressBegin(ZSTD_Cctx*  ctx, void* dst, size_t maxDstSize)
 {
     /* Sanity check */
     if (maxDstSize < ZSTD_frameHeaderSize) return (size_t)-ZSTD_ERROR_maxDstSize_tooSmall;
@@ -1080,7 +1080,7 @@ static void ZSTD_limitCtx(void* cctx, const U32 limit)
 }
 
 
-size_t ZSTD_compressContinue(ZSTD_cctx_t cctx, void* dst, size_t maxDstSize, const void* src, size_t srcSize)
+size_t ZSTD_compressContinue(ZSTD_Cctx*  cctx, void* dst, size_t maxDstSize, const void* src, size_t srcSize)
 {
     cctxi_t* ctx = (cctxi_t*) cctx;
     const BYTE* const istart = (const BYTE* const)src;
@@ -1146,7 +1146,7 @@ size_t ZSTD_compressContinue(ZSTD_cctx_t cctx, void* dst, size_t maxDstSize, con
 }
 
 
-size_t ZSTD_compressEnd(ZSTD_cctx_t ctx, void* dst, size_t maxDstSize)
+size_t ZSTD_compressEnd(ZSTD_Cctx*  ctx, void* dst, size_t maxDstSize)
 {
     BYTE* op = (BYTE*)dst;
 
@@ -1163,7 +1163,7 @@ size_t ZSTD_compressEnd(ZSTD_cctx_t ctx, void* dst, size_t maxDstSize)
 }
 
 
-static size_t ZSTD_compressCCtx(void* ctx, void* dst, size_t maxDstSize, const void* src, size_t srcSize)
+static size_t ZSTD_compressCCtx(ZSTD_Cctx* ctx, void* dst, size_t maxDstSize, const void* src, size_t srcSize)
 {
     BYTE* const ostart = (BYTE* const)dst;
     BYTE* op = ostart;
@@ -1197,7 +1197,7 @@ static size_t ZSTD_compressCCtx(void* ctx, void* dst, size_t maxDstSize, const v
 
 size_t ZSTD_compress(void* dst, size_t maxDstSize, const void* src, size_t srcSize)
 {
-    void* ctx;
+    ZSTD_Cctx* ctx;
     size_t r;
 
     ctx = ZSTD_createCCtx();
@@ -1207,6 +1207,7 @@ size_t ZSTD_compress(void* dst, size_t maxDstSize, const void* src, size_t srcSi
 }
 
 
+
 /**************************************************************
 *   Decompression code
 **************************************************************/
@@ -1710,7 +1711,7 @@ size_t ZSTD_decompress(void* dst, size_t maxDstSize, const void* src, size_t src
 *  Streaming Decompression API
 *******************************/
 
-typedef struct
+typedef struct ZTSD_Dctx_s
 {
     U32 ctx[FSE_DTABLE_SIZE_U32(LLFSELog) + FSE_DTABLE_SIZE_U32(OffFSELog) + FSE_DTABLE_SIZE_U32(MLFSELog)];
     size_t expected;
@@ -1719,27 +1720,27 @@ typedef struct
 } dctx_t;
 
 
-ZSTD_dctx_t ZSTD_createDCtx(void)
+ZSTD_Dctx* ZSTD_createDCtx(void)
 {
     dctx_t* dctx = (dctx_t*)malloc(sizeof(dctx_t));
     dctx->expected = ZSTD_frameHeaderSize;
     dctx->phase = 0;
-    return (ZSTD_dctx_t)dctx;
+    return (ZSTD_Dctx*)dctx;
 }
 
-size_t ZSTD_freeDCtx(ZSTD_dctx_t dctx)
+size_t ZSTD_freeDCtx(ZSTD_Dctx* dctx)
 {
     free(dctx);
     return 0;
 }
 
 
-size_t ZSTD_nextSrcSizeToDecompress(ZSTD_dctx_t dctx)
+size_t ZSTD_nextSrcSizeToDecompress(ZSTD_Dctx* dctx)
 {
     return ((dctx_t*)dctx)->expected;
 }
 
-size_t ZSTD_decompressContinue(ZSTD_dctx_t dctx, void* dst, size_t maxDstSize, const void* src, size_t srcSize)
+size_t ZSTD_decompressContinue(ZSTD_Dctx* dctx, void* dst, size_t maxDstSize, const void* src, size_t srcSize)
 {
     dctx_t* ctx = (dctx_t*)dctx;
 
index b63fbba06b0b45fae757efa11c5ce9055bec506d..a059288fbaf6d6c4c3884ffba1690f9d68315adc 100644 (file)
@@ -45,20 +45,21 @@ extern "C" {
 /**************************************
 *  Streaming functions
 **************************************/
-typedef void* ZSTD_cctx_t;
-ZSTD_cctx_t ZSTD_createCCtx(void);
-size_t      ZSTD_freeCCtx(ZSTD_cctx_t cctx);
+typedef struct ZSTD_Cctx_s ZSTD_Cctx;
+ZSTD_Cctx* ZSTD_createCCtx(void);
+size_t     ZSTD_freeCCtx(ZSTD_Cctx* cctx);
 
-size_t ZSTD_compressBegin(ZSTD_cctx_t cctx, void* dst, size_t maxDstSize);
-size_t ZSTD_compressContinue(ZSTD_cctx_t cctx, void* dst, size_t maxDstSize, const void* src, size_t srcSize);
-size_t ZSTD_compressEnd(ZSTD_cctx_t cctx, void* dst, size_t maxDstSize);
+size_t ZSTD_compressBegin(ZSTD_Cctx* cctx, void* dst, size_t maxDstSize);
+size_t ZSTD_compressContinue(ZSTD_Cctx* cctx, void* dst, size_t maxDstSize, const void* src, size_t srcSize);
+size_t ZSTD_compressEnd(ZSTD_Cctx* cctx, void* dst, size_t maxDstSize);
 
-typedef void* ZSTD_dctx_t;
-ZSTD_dctx_t ZSTD_createDCtx(void);
-size_t      ZSTD_freeDCtx(ZSTD_dctx_t dctx);
 
-size_t ZSTD_nextSrcSizeToDecompress(ZSTD_dctx_t dctx);
-size_t ZSTD_decompressContinue(ZSTD_dctx_t dctx, void* dst, size_t maxDstSize, const void* src, size_t srcSize);
+typedef struct ZSTD_Dctx_s ZSTD_Dctx;
+ZSTD_Dctx* ZSTD_createDCtx(void);
+size_t     ZSTD_freeDCtx(ZSTD_Dctx* dctx);
+
+size_t ZSTD_nextSrcSizeToDecompress(ZSTD_Dctx* dctx);
+size_t ZSTD_decompressContinue(ZSTD_Dctx* dctx, void* dst, size_t maxDstSize, const void* src, size_t srcSize);
 /*
   Use above functions alternatively.
   ZSTD_nextSrcSizeToDecompress() tells how much bytes to provide as input to ZSTD_decompressContinue().
index ac36fa3e29b90bc8f7864ad06d37bea59ae0f946..04d938fa4a384542680cd8b2dca5a1c9e19e94a5 100644 (file)
@@ -235,7 +235,7 @@ unsigned long long FIO_compressFilename(const char* output_filename, const char*
     FILE* finput;
     FILE* foutput;
     size_t sizeCheck, cSize;
-    ZSTD_cctx_t ctx;
+    ZSTD_Cctx* ctx;
 
 
     /* Init */
@@ -319,7 +319,7 @@ unsigned long long FIO_decompressFilename(const char* output_filename, const cha
     U32   wNbBlocks = 4;
     U64   filesize = 0;
     BYTE* header[MAXHEADERSIZE];
-    ZSTD_cctx_t dctx;
+    ZSTD_Dctx* dctx;
     size_t toRead;
     size_t sizeCheck;