From 04133f0f7cad6fabd1a324918adcfb64e06e150f Mon Sep 17 00:00:00 2001 From: ChenLing Date: Mon, 1 Jul 2019 14:28:19 +0800 Subject: [PATCH] OCT REM: 1. Add struct to json init function . --- Common/s2j/s2j.h | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/Common/s2j/s2j.h b/Common/s2j/s2j.h index b09a9f759..f6ba49b77 100644 --- a/Common/s2j/s2j.h +++ b/Common/s2j/s2j.h @@ -81,8 +81,26 @@ extern "C" { S2J_STRUCT_GET_STRUCT_ELEMENT(child_struct, to_struct, child_json, from_json, type, element) /* s2j.c */ -extern S2jHook s2jHook; -void s2j_init(S2jHook *hook); +//extern S2jHook s2jHook; + +S2jHook s2jHook = { + .malloc_fn = malloc, + .free_fn = free, +}; + +static void s2j_init(S2jHook *hook) +{ + /* initialize cJSON library */ + cJSON_InitHooks((cJSON_Hooks *)hook); + /* initialize hooks */ + if (hook) { + s2jHook.malloc_fn = (hook->malloc_fn) ? hook->malloc_fn : malloc; + s2jHook.free_fn = (hook->free_fn) ? hook->free_fn : free; + } else { + s2jHook.malloc_fn = malloc; + s2jHook.free_fn = free; + } +} #ifdef __cplusplus }