summaryrefslogtreecommitdiffstats
path: root/lib/lz4hc.c
diff options
context:
space:
mode:
authorYann Collet <cyan@fb.com>2020-11-09 05:17:32 (GMT)
committerYann Collet <cyan@fb.com>2020-11-09 05:17:32 (GMT)
commit52646e8d7517b9b399d3e3719c65816afdc833ab (patch)
treea75a37e6fa5abbb87e721dbfa17755ac7984a9a8 /lib/lz4hc.c
parentbe634559e3b6bb7bce77cc83ec2080b2bfb6c844 (diff)
downloadlz4-52646e8d7517b9b399d3e3719c65816afdc833ab.zip
lz4-52646e8d7517b9b399d3e3719c65816afdc833ab.tar.gz
lz4-52646e8d7517b9b399d3e3719c65816afdc833ab.tar.bz2
first proposal for LZ4_USER_MEMORY_FUNCTIONS
makes it possible to replace at link time malloc, calloc and free by user-provided functions which must be named LZ4_malloc(), LZ4_calloc() and LZ4_free(). answer #937
Diffstat (limited to 'lib/lz4hc.c')
-rw-r--r--lib/lz4hc.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/lib/lz4hc.c b/lib/lz4hc.c
index 8875f1a..8320f33 100644
--- a/lib/lz4hc.c
+++ b/lib/lz4hc.c
@@ -93,7 +93,7 @@ static U32 LZ4HC_hashPtr(const void* ptr) { return HASH_FUNCTION(LZ4_read32(ptr)
**************************************/
static void LZ4HC_clearTables (LZ4HC_CCtx_internal* hc4)
{
- MEM_INIT((void*)hc4->hashTable, 0, sizeof(hc4->hashTable));
+ MEM_INIT(hc4->hashTable, 0, sizeof(hc4->hashTable));
MEM_INIT(hc4->chainTable, 0xFF, sizeof(hc4->chainTable));
}
@@ -983,11 +983,10 @@ int LZ4_compress_HC_destSize(void* state, const char* source, char* dest, int* s
/* allocation */
LZ4_streamHC_t* LZ4_createStreamHC(void)
{
- LZ4_streamHC_t* const state = (LZ4_streamHC_t*)ALLOC(sizeof(LZ4_streamHC_t));
- if (LZ4_initStreamHC(state, sizeof(*state)) == NULL) {
- free(state);
- return NULL;
- }
+ LZ4_streamHC_t* const state =
+ (LZ4_streamHC_t*)ALLOC_AND_ZERO(sizeof(LZ4_streamHC_t));
+ if (state == NULL) return NULL;
+ LZ4_setCompressionLevel(state, LZ4HC_CLEVEL_DEFAULT);
return state;
}
@@ -1323,7 +1322,7 @@ static int LZ4HC_compress_optimal ( LZ4HC_CCtx_internal* ctx,
int retval = 0;
#define TRAILING_LITERALS 3
#ifdef LZ4HC_HEAPMODE
- LZ4HC_optimal_t* const opt = (LZ4HC_optimal_t*)malloc(sizeof(LZ4HC_optimal_t) * (LZ4_OPT_NUM + TRAILING_LITERALS));
+ LZ4HC_optimal_t* const opt = (LZ4HC_optimal_t*)ALLOC(sizeof(LZ4HC_optimal_t) * (LZ4_OPT_NUM + TRAILING_LITERALS));
#else
LZ4HC_optimal_t opt[LZ4_OPT_NUM + TRAILING_LITERALS]; /* ~64 KB, which is a bit large for stack... */
#endif
@@ -1606,7 +1605,7 @@ if (limit == fillOutput) {
}
_return_label:
#ifdef LZ4HC_HEAPMODE
- free(opt);
+ FREEMEM(opt);
#endif
return retval;
}