|
|
| version 1.9.6.1, 2012/05/23 11:49:35 | version 1.10.6.5, 2012/07/30 11:49:46 |
|---|---|
| Line 57 io_arrayInit(int numItems) | Line 57 io_arrayInit(int numItems) |
| { | { |
| array_t *arr = NULL; | array_t *arr = NULL; |
| arr = xmalloc(sizeof(array_t)); | arr = io_malloc(sizeof(array_t)); |
| if (!arr) { | if (!arr) { |
| LOGERR; | LOGERR; |
| return NULL; | return NULL; |
| Line 65 io_arrayInit(int numItems) | Line 65 io_arrayInit(int numItems) |
| arr->arr_last = -1; | arr->arr_last = -1; |
| arr->arr_num = numItems; | arr->arr_num = numItems; |
| arr->arr_data = xcalloc(io_arraySize(arr), sizeof(void*)); | arr->arr_data = io_calloc(io_arraySize(arr), sizeof(void*)); |
| if (!arr->arr_data) { | if (!arr->arr_data) { |
| LOGERR; | LOGERR; |
| xfree(arr); | io_free(arr); |
| return NULL; | return NULL; |
| } else | } else |
| io_arrayZero(arr); | io_arrayZero(arr); |
| Line 99 io_arrayFrom(const char *** __restrict pargv, int argc | Line 99 io_arrayFrom(const char *** __restrict pargv, int argc |
| else | else |
| for (a = *pargv; *a; a++, num++); | for (a = *pargv; *a; a++, num++); |
| arr = xmalloc(sizeof(array_t)); | arr = io_malloc(sizeof(array_t)); |
| if (!arr) { | if (!arr) { |
| LOGERR; | LOGERR; |
| return NULL; | return NULL; |
| } | } |
| arr->arr_num = num; | arr->arr_num = num; |
| arr->arr_data = xcalloc(io_arraySize(arr), sizeof(void*)); | arr->arr_data = io_calloc(io_arraySize(arr), sizeof(void*)); |
| if (!arr->arr_data) { | if (!arr->arr_data) { |
| LOGERR; | LOGERR; |
| xfree(arr); | io_free(arr); |
| return NULL; | return NULL; |
| } else { | } else { |
| memcpy(arr->arr_data, *pargv, io_arraySize(arr) * sizeof(void*)); | memcpy(arr->arr_data, *pargv, io_arraySize(arr) * sizeof(void*)); |
| Line 134 io_arrayTo(array_t * __restrict arr) | Line 134 io_arrayTo(array_t * __restrict arr) |
| if (!arr || !io_arraySize(arr)) | if (!arr || !io_arraySize(arr)) |
| return NULL; | return NULL; |
| args = (char **) xcalloc(io_arraySize(arr) + 1, sizeof(char*)); | args = (char **) io_calloc(io_arraySize(arr) + 1, sizeof(char*)); |
| if (!args) { | if (!args) { |
| LOGERR; | LOGERR; |
| return NULL; | return NULL; |
| Line 162 io_arrayFree(array_t * __restrict arr) | Line 162 io_arrayFree(array_t * __restrict arr) |
| for (i = 0; i < io_arraySize(arr); i++) | for (i = 0; i < io_arraySize(arr); i++) |
| if (arr->arr_data[i]) { | if (arr->arr_data[i]) { |
| xfree(arr->arr_data[i]); | io_free(arr->arr_data[i]); |
| arr->arr_data[i] = NULL; | arr->arr_data[i] = NULL; |
| } | } |
| Line 182 io_arrayDestroy(array_t ** __restrict parr) | Line 182 io_arrayDestroy(array_t ** __restrict parr) |
| return; | return; |
| if ((*parr)->arr_data) | if ((*parr)->arr_data) |
| xfree((*parr)->arr_data); | io_free((*parr)->arr_data); |
| xfree(*parr); | io_free(*parr); |
| *parr = NULL; | *parr = NULL; |
| } | } |
| Line 232 io_arrayGrow(array_t * __restrict arr, int newNumItems | Line 232 io_arrayGrow(array_t * __restrict arr, int newNumItems |
| } else if (freeShrink) | } else if (freeShrink) |
| for (i = newNumItems; i < arr->arr_num; i++) | for (i = newNumItems; i < arr->arr_num; i++) |
| if (arr->arr_data[i]) | if (arr->arr_data[i]) |
| xfree(arr->arr_data[i]); | io_free(arr->arr_data[i]); |
| arr->arr_num = newNumItems; | arr->arr_num = newNumItems; |
| if (io_arraySize(arr)) { | if (io_arraySize(arr)) { |
| data = xrealloc(arr->arr_data, io_arraySize(arr) * sizeof(void*)); | data = io_realloc(arr->arr_data, io_arraySize(arr) * sizeof(void*)); |
| if (!data) { | if (!data) { |
| LOGERR; | LOGERR; |
| return -1; | return -1; |
| Line 247 io_arrayGrow(array_t * __restrict arr, int newNumItems | Line 247 io_arrayGrow(array_t * __restrict arr, int newNumItems |
| arr->arr_last = io_arrayLen(arr); | arr->arr_last = io_arrayLen(arr); |
| } else { | } else { |
| if (arr->arr_data) | if (arr->arr_data) |
| xfree(arr->arr_data); | io_free(arr->arr_data); |
| arr->arr_data = NULL; | arr->arr_data = NULL; |
| arr->arr_last = -1; | arr->arr_last = -1; |
| } | } |
| Line 524 io_arrayMake(char * __restrict psArgs, int nargs, cons | Line 524 io_arrayMake(char * __restrict psArgs, int nargs, cons |
| **app ? i++ : i, **app ? app++ : app); | **app ? i++ : i, **app ? app++ : app); |
| return i; | return i; |
| } | } |
| /* | |
| * io_MakeAV() Parse and make attribute/value pair | |
| * | |
| * @csArgs = Input argument line | |
| * @csDelim = Delimiter for separate | |
| * @psAttr = Output Attribute | |
| * @attrLen = Size of attribute array | |
| * @psValue = Output Value, if ==NULL this element not present value or not wanted for return | |
| * @valLen = Size of value array | |
| * return: 0 error format; -1 error:: can`t read; >0 ok, number of readed items | |
| */ | |
| int | |
| io_MakeAV(const char * __restrict csArgs, const char *csDelim, | |
| char * __restrict psAttr, int attrLen, char * __restrict psValue, int valLen) | |
| { | |
| register int ret = 0; | |
| char *pos, *psBuf; | |
| if (!csArgs || !csDelim || !psAttr || !attrLen) | |
| return -1; | |
| if (psValue && !valLen) | |
| return -1; | |
| else | |
| memset(psValue, 0, valLen); | |
| psBuf = xstrdup(csArgs); | |
| if (!psBuf) { | |
| LOGERR; | |
| return -1; | |
| } | |
| pos = strpbrk(psBuf, csDelim); | |
| if (pos) | |
| *pos++ = 0; | |
| ret++; | |
| strlcpy(psAttr, psBuf, attrLen); | |
| if (pos && *pos) { | |
| ret++; | |
| if (psValue) | |
| strlcpy(psValue, pos, valLen); | |
| } | |
| xfree(psBuf); | |
| return ret; | |
| } | |