c0ddc1bf5e
FossilOrigin-Name: 4e8cdf2538b5a6eaf91c61e3b0ae57621d0934f376351c5d3b7b320927eb27d8
36 lines
788 B
C
36 lines
788 B
C
/*
|
|
* Licensed under BSD 3-Clause License
|
|
*/
|
|
|
|
#include <stdlib.h>
|
|
#include <assert.h>
|
|
#include <cjson/cJSON.h>
|
|
#include <mastodont_hooks.h>
|
|
|
|
struct mstdnt_hooks _mstdnt_hooks_def = {
|
|
.malloc = malloc,
|
|
.free = free,
|
|
.calloc = calloc,
|
|
.realloc = realloc,
|
|
};
|
|
|
|
void mstdnt_set_hooks(struct mstdnt_hooks* hooks)
|
|
{
|
|
assert(hooks != NULL);
|
|
cJSON_Hooks cjson_hooks = {
|
|
.malloc_fn = hooks->malloc,
|
|
.free_fn = hooks->free,
|
|
};
|
|
cJSON_InitHooks(&cjson_hooks);
|
|
|
|
if (hooks->malloc)
|
|
_mstdnt_hooks_def.malloc = hooks->malloc;
|
|
if (hooks->free)
|
|
_mstdnt_hooks_def.free = hooks->free;
|
|
if (hooks->calloc)
|
|
_mstdnt_hooks_def.calloc = hooks->calloc;
|
|
if (hooks->realloc)
|
|
_mstdnt_hooks_def.realloc = hooks->realloc;
|
|
}
|
|
|