--- libelwix/inc/elwix/ajson.h 2025/08/25 10:05:52 1.9.2.1 +++ libelwix/inc/elwix/ajson.h 2025/08/25 12:58:08 1.9.2.3 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: ajson.h,v 1.9.2.1 2025/08/25 10:05:52 misho Exp $ +* $Id: ajson.h,v 1.9.2.3 2025/08/25 12:58:08 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -183,11 +183,13 @@ array_t *json_token2vars(const char *jstr, jtok_t * __ * after use should be json_freearray() */ array_t *json_token2array(const char *jstr, jtok_t * __restrict tok); -#define json_freearray(x) do { \ - assert((x)); \ - array_Free(*(x)); \ - array_Destroy((x)); \ - } while(0) +/* + * json_freearray() - Free & destroy allocated array from json_token2array function + * + * @parr = Array + * return -1 error or 0 ok + */ +int json_freearray(array_t **parr); /* @@ -242,6 +244,14 @@ long json_objscope(const char *key, const char *jstr, * return: -1 error or >=0 where valid JSON ends */ int json_validate(const char *jstr, int *started); +/* + * json_marshaling() - Prepare JSON to one continues line + * + * @jstr = JSON string + * @space = if it is 0 then spaces will be removed + * return NULL error or !=NULL ready JSON for proceeding + */ +char *json_marshaling(char * __restrict jstr, int space); /*