version 1.5.2.4, 2012/04/02 09:10:31
|
version 1.8.2.1, 2012/05/19 00:19:57
|
Line 71 io_vars2buffer(u_char *buf, int buflen, array_t *vars)
|
Line 71 io_vars2buffer(u_char *buf, int buflen, array_t *vars)
|
|
|
Limit = sizeof(ait_val_t) * io_arraySize(vars); |
Limit = sizeof(ait_val_t) * io_arraySize(vars); |
if (Limit > buflen) { |
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); |
buflen, Limit); |
return -1; |
return -1; |
} else { |
} else { |
Line 105 io_vars2buffer(u_char *buf, int buflen, array_t *vars)
|
Line 105 io_vars2buffer(u_char *buf, int buflen, array_t *vars)
|
break; |
break; |
case data: |
case data: |
if (AIT_LEN(val) > buflen - Limit) { |
if (AIT_LEN(val) > buflen - Limit) { |
io_SetErr(EMSGSIZE, "Error:: too short buffer buflen=%d " | io_SetErr(EMSGSIZE, "Short buffer buflen=%d " |
"needed min %d ...\n", buflen, Limit + AIT_LEN(val)); | "needed min %d", buflen, Limit + AIT_LEN(val)); |
return -1; |
return -1; |
} else |
} else |
Limit += AIT_LEN(val); |
Limit += AIT_LEN(val); |
Line 119 io_vars2buffer(u_char *buf, int buflen, array_t *vars)
|
Line 119 io_vars2buffer(u_char *buf, int buflen, array_t *vars)
|
case buffer: |
case buffer: |
case string: |
case string: |
if (AIT_LEN(val) > buflen - Limit) { |
if (AIT_LEN(val) > buflen - Limit) { |
io_SetErr(EMSGSIZE, "Error:: too short buffer buflen=%d " | io_SetErr(EMSGSIZE, "Short buffer buflen=%d " |
"needed min %d ...\n", buflen, Limit + AIT_LEN(val)); | "needed min %d", buflen, Limit + AIT_LEN(val)); |
return -1; |
return -1; |
} else |
} else |
Limit += AIT_LEN(val); |
Limit += AIT_LEN(val); |
Line 131 io_vars2buffer(u_char *buf, int buflen, array_t *vars)
|
Line 131 io_vars2buffer(u_char *buf, int buflen, array_t *vars)
|
dat += AIT_LEN(val); |
dat += AIT_LEN(val); |
break; |
break; |
default: |
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); |
AIT_TYPE(val), i); |
return -1; |
return -1; |
} |
} |
Line 165 io_buffer2vars(u_char *buf, int buflen, int vnum, int
|
Line 165 io_buffer2vars(u_char *buf, int buflen, int vnum, int
|
|
|
Limit = sizeof(ait_val_t) * vnum; |
Limit = sizeof(ait_val_t) * vnum; |
if (Limit > buflen) { |
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); |
buflen, Limit); |
return NULL; |
return NULL; |
} else { |
} else { |
Line 223 io_buffer2vars(u_char *buf, int buflen, int vnum, int
|
Line 223 io_buffer2vars(u_char *buf, int buflen, int vnum, int
|
case buffer: |
case buffer: |
case string: |
case string: |
if (AIT_LEN(val) > buflen - Limit) { |
if (AIT_LEN(val) > buflen - Limit) { |
io_SetErr(EMSGSIZE, "Error:: too short buffer buflen=%d " | io_SetErr(EMSGSIZE, "Short buffer buflen=%d " |
"needed min %d ...\n", buflen, Limit + AIT_LEN(val)); | "needed min %d", buflen, Limit + AIT_LEN(val)); |
if (!zcpy) |
if (!zcpy) |
io_arrayFree(vars); |
io_arrayFree(vars); |
io_arrayDestroy(&vars); |
io_arrayDestroy(&vars); |
Line 246 io_buffer2vars(u_char *buf, int buflen, int vnum, int
|
Line 246 io_buffer2vars(u_char *buf, int buflen, int vnum, int
|
dat += AIT_LEN(val); |
dat += AIT_LEN(val); |
break; |
break; |
default: |
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); |
AIT_TYPE(val), i); |
if (!zcpy) |
if (!zcpy) |
io_arrayFree(vars); |
io_arrayFree(vars); |
Line 285 io_vars2map(u_char *buf, int buflen, array_t *vars)
|
Line 285 io_vars2map(u_char *buf, int buflen, array_t *vars)
|
|
|
Limit = sizeof(ait_val_t) * io_arraySize(vars); |
Limit = sizeof(ait_val_t) * io_arraySize(vars); |
if (Limit > buflen) { |
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); |
buflen, Limit); |
return -1; |
return -1; |
} else { |
} else { |
Line 319 io_vars2map(u_char *buf, int buflen, array_t *vars)
|
Line 319 io_vars2map(u_char *buf, int buflen, array_t *vars)
|
break; |
break; |
case data: |
case data: |
if (AIT_LEN(val) > buflen - Limit) { |
if (AIT_LEN(val) > buflen - Limit) { |
io_SetErr(EMSGSIZE, "Error:: too short buffer buflen=%d " | io_SetErr(EMSGSIZE, "Short buffer buflen=%d " |
"needed min %d ...\n", buflen, Limit + AIT_LEN(val)); | "needed min %d", buflen, Limit + AIT_LEN(val)); |
return -1; |
return -1; |
} else |
} else |
Limit += AIT_LEN(val); |
Limit += AIT_LEN(val); |
Line 333 io_vars2map(u_char *buf, int buflen, array_t *vars)
|
Line 333 io_vars2map(u_char *buf, int buflen, array_t *vars)
|
case buffer: |
case buffer: |
case string: |
case string: |
if (AIT_LEN(val) > buflen - Limit) { |
if (AIT_LEN(val) > buflen - Limit) { |
io_SetErr(EMSGSIZE, "Error:: too short buffer buflen=%d " | io_SetErr(EMSGSIZE, "Short buffer buflen=%d " |
"needed min %d ...\n", buflen, Limit + AIT_LEN(val)); | "needed min %d", buflen, Limit + AIT_LEN(val)); |
return -1; |
return -1; |
} else |
} else |
Limit += AIT_LEN(val); |
Limit += AIT_LEN(val); |
Line 345 io_vars2map(u_char *buf, int buflen, array_t *vars)
|
Line 345 io_vars2map(u_char *buf, int buflen, array_t *vars)
|
dat += AIT_LEN(val); |
dat += AIT_LEN(val); |
break; |
break; |
default: |
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); |
AIT_TYPE(val), i); |
return -1; |
return -1; |
} |
} |
Line 379 io_map2vars(u_char *buf, int buflen, int vnum, int zcp
|
Line 379 io_map2vars(u_char *buf, int buflen, int vnum, int zcp
|
|
|
Limit = sizeof(ait_val_t) * vnum; |
Limit = sizeof(ait_val_t) * vnum; |
if (Limit > buflen) { |
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); |
buflen, Limit); |
return NULL; |
return NULL; |
} else { |
} else { |
Line 428 io_map2vars(u_char *buf, int buflen, int vnum, int zcp
|
Line 428 io_map2vars(u_char *buf, int buflen, int vnum, int zcp
|
case buffer: |
case buffer: |
case string: |
case string: |
if (AIT_LEN(val) > buflen - Limit) { |
if (AIT_LEN(val) > buflen - Limit) { |
io_SetErr(EMSGSIZE, "Error:: too short buffer buflen=%d " | io_SetErr(EMSGSIZE, "short buffer buflen=%d " |
"needed min %d ...\n", buflen, Limit + AIT_LEN(val)); | "needed min %d", buflen, Limit + AIT_LEN(val)); |
if (!zcpy) |
if (!zcpy) |
io_arrayFree(vars); |
io_arrayFree(vars); |
io_arrayDestroy(&vars); |
io_arrayDestroy(&vars); |
Line 451 io_map2vars(u_char *buf, int buflen, int vnum, int zcp
|
Line 451 io_map2vars(u_char *buf, int buflen, int vnum, int zcp
|
dat += AIT_LEN(val); |
dat += AIT_LEN(val); |
break; |
break; |
default: |
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); |
AIT_TYPE(val), i); |
if (!zcpy) |
if (!zcpy) |
io_arrayFree(vars); |
io_arrayFree(vars); |
Line 477 io_allocVars(int varnum)
|
Line 477 io_allocVars(int varnum)
|
register int i; |
register int i; |
ait_val_t *v; |
ait_val_t *v; |
|
|
if (!varnum || !(arr = io_arrayInit(varnum))) | if (!(arr = io_arrayInit(varnum))) |
return NULL; |
return NULL; |
|
|
for (i = 0; i < io_arraySize(arr); i++) { |
for (i = 0; i < io_arraySize(arr); i++) { |
v = malloc(sizeof(ait_val_t)); | if (!(v = io_allocVar())) { |
if (!v) { | |
LOGERR; | |
io_freeVars(&arr); |
io_freeVars(&arr); |
return NULL; |
return NULL; |
} else { | } else |
memset(v, 0, sizeof(ait_val_t)); | |
io_arraySet(arr, i, v); |
io_arraySet(arr, i, v); |
} |
|
} |
} |
|
|
return arr; |
return arr; |
} |
} |
|
|
/* |
/* |
|
* 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) |
|
{ |
|
register int i; |
|
ait_val_t *v; |
|
|
|
if (!vars) |
|
return NULL; |
|
|
|
if (!*vars) { |
|
if (!(*vars = io_allocVars(n + 1))) |
|
return NULL; |
|
} else { |
|
if (n >= (i = io_arraySize(*vars))) { |
|
if (io_arrayGrow(*vars, n + 1, 0)) |
|
return NULL; |
|
for (; i < io_arraySize(*vars); i++) |
|
if (!io_arrayGet(*vars, i)) { |
|
if (!(v = io_allocVar())) |
|
return NULL; |
|
else |
|
io_arraySet(*vars, n, v); |
|
} |
|
} |
|
} |
|
|
|
return io_array(*vars, n, ait_val_t*); |
|
} |
|
|
|
/* |
* io_clrVars() - Clear ait_val_t elements from array |
* io_clrVars() - Clear ait_val_t elements from array |
* |
* |
* @vars = Variable array |
* @vars = Variable array |
Line 562 io_allocVar(void)
|
Line 594 io_allocVar(void)
|
* return: none |
* return: none |
*/ |
*/ |
inline void |
inline void |
io_freeVar(ait_val_t * __restrict val) | io_freeVar(ait_val_t ** __restrict val) |
{ |
{ |
if (val) { | if (val && *val) { |
AIT_FREE_VAL(val); | AIT_FREE_VAL(*val); |
free(val); | free(*val); |
val = NULL; | *val = NULL; |
} |
} |
} |
} |
|
|