--- libaitio/inc/aitio.h 2012/05/17 16:42:01 1.17.4.5 +++ libaitio/inc/aitio.h 2012/05/19 00:11:58 1.19 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitio.h,v 1.17.4.5 2012/05/17 16:42:01 misho Exp $ +* $Id: aitio.h,v 1.19 2012/05/19 00:11:58 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -173,7 +173,7 @@ typedef struct { else \ memset(__val->val.buffer, 0, _len); \ } } while (0) -#define AIT_SET_STR(_vl, _v) do { ait_val_t *__val = (_vl); assert(__val && (_v)); \ +#define AIT_SET_STR(_vl, _v) do { ait_val_t *__val = (_vl); assert(__val); \ __val->val.string = (int8_t*) strdup((_v)); \ if (__val->val.string) { \ __val->val_type = string; \ @@ -410,8 +410,15 @@ inline int io_clrVars(array_t * __restrict vars); * return: none */ inline void io_freeVars(array_t ** __restrict vars); -#define io_getVars(x, _i) (io_array((x), _i, ait_val_t*)) /* + * io_getVars() - Get ait_val_t element from array and if not exists allocate it + * + * @vars = Variable array + * @n = index of variable into array + * return: NULL error or !=NULL ait_val_t element + */ +inline ait_val_t *io_getVars(array_t ** __restrict vars, int n); +/* * io_sortVars() - Sorting array with variables * * @vars = Variable array @@ -648,10 +655,6 @@ int io_arrayVacuum(array_t * __restrict arr, int fromW if (_fri && (_arr)->arr_data[_d]) \ free((_arr)->arr_data[_d]); \ (_arr)->arr_data[_d] = NULL; \ - } while (0) -#define io_arraySyncLast(_arr) do { \ - assert((_arr)); \ - (_arr)->arr_last = io_arrayLen((_arr)); \ } while (0) /*