|
|
| version 1.1.2.3, 2011/04/19 22:32:16 | version 1.1.2.4, 2011/04/20 08:09:13 |
|---|---|
| Line 225 io_arrayVacuum(array_t * __restrict arr, int fromWhere | Line 225 io_arrayVacuum(array_t * __restrict arr, int fromWhere |
| } | } |
| /* | /* |
| * io_arrayPush() - Push element into dynamic array like stack manner, place at first empty position | |
| * @arr = Array | |
| * @data = Element, if set NULL return only first empty position | |
| * return: -1 not found empty position, array is full!, >-1 return position of stored element into array | |
| */ | |
| inline int | |
| io_arrayPush(array_t * __restrict arr, void **data) | |
| { | |
| register int i; | |
| int ret = -1; | |
| assert(arr); | |
| for (i = 0; i < arr->arr_num; i++) | |
| if (!arr->arr_data[i]) { | |
| if (data) | |
| arr->arr_data[i] = *data; | |
| ret = i; | |
| break; | |
| } | |
| return ret; | |
| } | |
| /* | |
| * io_arrayPop() - Pop element from dynamic array like stack manner, last used position | |
| * @arr = Array | |
| * @data = Element, if set NULL return only first empty position | |
| * @delAfter = Delete after Pop element, !=0 delete element from array after return data | |
| * return: -1 not found used position, array is empty!, >-1 return element position | |
| */ | |
| inline int | |
| io_arrayPop(array_t * __restrict arr, void ** __restrict data, int delAfter) | |
| { | |
| register int i; | |
| int ret = -1; | |
| assert(arr); | |
| for (i = arr->arr_num - 1; i >= 0; i--) | |
| if (arr->arr_data[i]) { | |
| if (data) | |
| *data = arr->arr_data[i]; | |
| if (delAfter) | |
| arr->arr_data[i] = NULL; | |
| ret = i; | |
| break; | |
| } | |
| return ret; | |
| } | |
| /* | |
| * io_argsNum() Parse and calculate number of arguments | * io_argsNum() Parse and calculate number of arguments |
| * @csArgs = Input arguments line | * @csArgs = Input arguments line |
| * @csDelim = Delimiter(s) for separate | * @csDelim = Delimiter(s) for separate |