--- libaitio/src/Attic/vars.c 2011/12/13 02:23:08 1.3 +++ libaitio/src/Attic/vars.c 2012/02/02 21:32:42 1.4 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: vars.c,v 1.3 2011/12/13 02:23:08 misho Exp $ +* $Id: vars.c,v 1.4 2012/02/02 21:32:42 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -487,4 +487,39 @@ io_freeVars(array_t ** __restrict vars) io_clrVars(*vars); io_arrayFree(*vars); io_arrayDestroy(vars); +} + +/* + * io_allocVar() Allocate memory for variable + * return: NULL error or new variable, after use free variable with io_freeVar() + */ +inline ait_val_t * +io_allocVar(void) +{ + ait_val_t *v = NULL; + + v = malloc(sizeof(ait_val_t)); + if (!v) { + LOGERR; + return NULL; + } else + memset(v, 0, sizeof(ait_val_t)); + v->val_type = empty; + + return v; +} + +/* + * io_freeVar() Free allocated memory for variable + * @val = Variable + * return: none + */ +inline void +io_freeVar(ait_val_t * __restrict val) +{ + if (val) { + AIT_FREE_VAL(val); + free(val); + val = NULL; + } }