--- libaitio/src/Attic/vars.c 2012/04/02 09:10:31 1.5.2.4 +++ libaitio/src/Attic/vars.c 2012/05/14 12:48:21 1.5.2.5 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: vars.c,v 1.5.2.4 2012/04/02 09:10:31 misho Exp $ +* $Id: vars.c,v 1.5.2.5 2012/05/14 12:48:21 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -71,7 +71,7 @@ io_vars2buffer(u_char *buf, int buflen, array_t *vars) Limit = sizeof(ait_val_t) * io_arraySize(vars); if (Limit > buflen) { - io_SetErr(EMSGSIZE, "Error:: too short buffer buflen=%d needed min %d ...\n", + io_SetErr(EMSGSIZE, "Short buffer buflen=%d needed min %d", buflen, Limit); return -1; } else { @@ -105,8 +105,8 @@ io_vars2buffer(u_char *buf, int buflen, array_t *vars) break; case data: if (AIT_LEN(val) > buflen - Limit) { - io_SetErr(EMSGSIZE, "Error:: too short buffer buflen=%d " - "needed min %d ...\n", buflen, Limit + AIT_LEN(val)); + io_SetErr(EMSGSIZE, "Short buffer buflen=%d " + "needed min %d", buflen, Limit + AIT_LEN(val)); return -1; } else Limit += AIT_LEN(val); @@ -119,8 +119,8 @@ io_vars2buffer(u_char *buf, int buflen, array_t *vars) case buffer: case string: if (AIT_LEN(val) > buflen - Limit) { - io_SetErr(EMSGSIZE, "Error:: too short buffer buflen=%d " - "needed min %d ...\n", buflen, Limit + AIT_LEN(val)); + io_SetErr(EMSGSIZE, "Short buffer buflen=%d " + "needed min %d", buflen, Limit + AIT_LEN(val)); return -1; } else Limit += AIT_LEN(val); @@ -131,7 +131,7 @@ io_vars2buffer(u_char *buf, int buflen, array_t *vars) dat += AIT_LEN(val); break; default: - io_SetErr(EINVAL, "Error:: unsupported variable type=%d at element #%d ...\n", + io_SetErr(EINVAL, "Unsupported variable type=%d at element #%d", AIT_TYPE(val), i); return -1; } @@ -165,7 +165,7 @@ io_buffer2vars(u_char *buf, int buflen, int vnum, int Limit = sizeof(ait_val_t) * vnum; if (Limit > buflen) { - io_SetErr(EMSGSIZE, "Error:: too short buffer buflen=%d needed min %d ...\n", + io_SetErr(EMSGSIZE, "Short buffer buflen=%d needed min %d", buflen, Limit); return NULL; } else { @@ -223,8 +223,8 @@ io_buffer2vars(u_char *buf, int buflen, int vnum, int case buffer: case string: if (AIT_LEN(val) > buflen - Limit) { - io_SetErr(EMSGSIZE, "Error:: too short buffer buflen=%d " - "needed min %d ...\n", buflen, Limit + AIT_LEN(val)); + io_SetErr(EMSGSIZE, "Short buffer buflen=%d " + "needed min %d", buflen, Limit + AIT_LEN(val)); if (!zcpy) io_arrayFree(vars); io_arrayDestroy(&vars); @@ -246,7 +246,7 @@ io_buffer2vars(u_char *buf, int buflen, int vnum, int dat += AIT_LEN(val); break; default: - io_SetErr(EINVAL, "Error:: unsupported variable type=%d at element #%d ...\n", + io_SetErr(EINVAL, "Unsupported variable type=%d at element #%d", AIT_TYPE(val), i); if (!zcpy) io_arrayFree(vars); @@ -285,7 +285,7 @@ io_vars2map(u_char *buf, int buflen, array_t *vars) Limit = sizeof(ait_val_t) * io_arraySize(vars); if (Limit > buflen) { - io_SetErr(EMSGSIZE, "Error:: too short buffer buflen=%d needed min %d ...\n", + io_SetErr(EMSGSIZE, "Short buffer buflen=%d needed min %d", buflen, Limit); return -1; } else { @@ -319,8 +319,8 @@ io_vars2map(u_char *buf, int buflen, array_t *vars) break; case data: if (AIT_LEN(val) > buflen - Limit) { - io_SetErr(EMSGSIZE, "Error:: too short buffer buflen=%d " - "needed min %d ...\n", buflen, Limit + AIT_LEN(val)); + io_SetErr(EMSGSIZE, "Short buffer buflen=%d " + "needed min %d", buflen, Limit + AIT_LEN(val)); return -1; } else Limit += AIT_LEN(val); @@ -333,8 +333,8 @@ io_vars2map(u_char *buf, int buflen, array_t *vars) case buffer: case string: if (AIT_LEN(val) > buflen - Limit) { - io_SetErr(EMSGSIZE, "Error:: too short buffer buflen=%d " - "needed min %d ...\n", buflen, Limit + AIT_LEN(val)); + io_SetErr(EMSGSIZE, "Short buffer buflen=%d " + "needed min %d", buflen, Limit + AIT_LEN(val)); return -1; } else Limit += AIT_LEN(val); @@ -345,7 +345,7 @@ io_vars2map(u_char *buf, int buflen, array_t *vars) dat += AIT_LEN(val); break; default: - io_SetErr(EINVAL, "Error:: unsupported variable type=%d at element #%d ...\n", + io_SetErr(EINVAL, "Unsupported variable type=%d at element #%d", AIT_TYPE(val), i); return -1; } @@ -379,7 +379,7 @@ io_map2vars(u_char *buf, int buflen, int vnum, int zcp Limit = sizeof(ait_val_t) * vnum; if (Limit > buflen) { - io_SetErr(EMSGSIZE, "Error:: too short buffer buflen=%d needed min %d ...\n", + io_SetErr(EMSGSIZE, "Short buffer buflen=%d needed min %d", buflen, Limit); return NULL; } else { @@ -428,8 +428,8 @@ io_map2vars(u_char *buf, int buflen, int vnum, int zcp case buffer: case string: if (AIT_LEN(val) > buflen - Limit) { - io_SetErr(EMSGSIZE, "Error:: too short buffer buflen=%d " - "needed min %d ...\n", buflen, Limit + AIT_LEN(val)); + io_SetErr(EMSGSIZE, "short buffer buflen=%d " + "needed min %d", buflen, Limit + AIT_LEN(val)); if (!zcpy) io_arrayFree(vars); io_arrayDestroy(&vars); @@ -451,7 +451,7 @@ io_map2vars(u_char *buf, int buflen, int vnum, int zcp dat += AIT_LEN(val); break; default: - io_SetErr(EINVAL, "Error:: unsupported variable type=%d at element #%d ...\n", + io_SetErr(EINVAL, "Unsupported variable type=%d at element #%d", AIT_TYPE(val), i); if (!zcpy) io_arrayFree(vars); @@ -481,15 +481,11 @@ io_allocVars(int varnum) return NULL; for (i = 0; i < io_arraySize(arr); i++) { - v = malloc(sizeof(ait_val_t)); - if (!v) { - LOGERR; + if (!(v = io_allocVar())) { io_freeVars(&arr); return NULL; - } else { - memset(v, 0, sizeof(ait_val_t)); + } else io_arraySet(arr, i, v); - } } return arr; @@ -505,14 +501,12 @@ inline int io_clrVars(array_t * __restrict vars) { register int i; - ait_val_t *v; if (!vars) return -1; for (i = 0; i < io_arraySize(vars); i++) - if ((v = io_array(vars, i, ait_val_t*))) - AIT_FREE_VAL(v); + io_freeVar((ait_val_t**) io_arrayGet2(vars, i)); return io_arraySize(vars); } @@ -530,7 +524,6 @@ io_freeVars(array_t ** __restrict vars) return; io_clrVars(*vars); - io_arrayFree(*vars); io_arrayDestroy(vars); } @@ -562,12 +555,12 @@ io_allocVar(void) * return: none */ inline void -io_freeVar(ait_val_t * __restrict val) +io_freeVar(ait_val_t ** __restrict val) { - if (val) { - AIT_FREE_VAL(val); - free(val); - val = NULL; + if (val && *val) { + AIT_FREE_VAL(*val); + free(*val); + *val = NULL; } }