Diff for /libelwix/src/array.c between versions 1.1.1.1 and 1.1.1.1.6.3

version 1.1.1.1, 2013/01/17 10:05:35 version 1.1.1.1.6.3, 2013/05/26 20:03:19
Line 52  SUCH DAMAGE. Line 52  SUCH DAMAGE.
  * @numItems = Number of Items   * @numItems = Number of Items
  * return: NULL error, != NULL allocated memory for array   * return: NULL error, != NULL allocated memory for array
  */   */
inline array_t *array_t *
 array_Init(int numItems)  array_Init(int numItems)
 {  {
         array_t *arr = NULL;          array_t *arr = NULL;
Line 137  array_To(array_t * __restrict arr) Line 137  array_To(array_t * __restrict arr)
  * @arr = Array   * @arr = Array
  * return: none   * return: none
  */   */
inline voidvoid
 array_Free(array_t * __restrict arr)  array_Free(array_t * __restrict arr)
 {  {
         register int i;          register int i;
Line 160  array_Free(array_t * __restrict arr) Line 160  array_Free(array_t * __restrict arr)
  * @parr = Array   * @parr = Array
  * return: none   * return: none
  */   */
inline voidvoid
 array_Destroy(array_t ** __restrict parr)  array_Destroy(array_t ** __restrict parr)
 {  {
         if (!parr || !*parr)          if (!parr || !*parr)
Line 178  array_Destroy(array_t ** __restrict parr) Line 178  array_Destroy(array_t ** __restrict parr)
  * @arr = Array   * @arr = Array
  * return: -1 empty or >-1 position of last used element   * return: -1 empty or >-1 position of last used element
  */   */
inline intint
 array_Len(array_t * __restrict arr)  array_Len(array_t * __restrict arr)
 {  {
         register int i;          register int i;
Line 347  array_Copy(array_t ** __restrict dest, array_t * __res Line 347  array_Copy(array_t ** __restrict dest, array_t * __res
  * @data = Element, if set NULL GET element at position or !=NULL PUT element at position   * @data = Element, if set NULL GET element at position or !=NULL PUT element at position
  * return: -1 error or !=-1 return element at position   * return: -1 error or !=-1 return element at position
  */   */
inline void *void *
 array_Elem(array_t * __restrict arr, int n, void *data)  array_Elem(array_t * __restrict arr, int n, void *data)
 {  {
         void *dat = NULL;          void *dat = NULL;
Line 373  array_Elem(array_t * __restrict arr, int n, void *data Line 373  array_Elem(array_t * __restrict arr, int n, void *data
  * @nogrow = Don't grow array if not enough space   * @nogrow = Don't grow array if not enough space
  * return: -1 not found empty position, array is full!, >-1 return position of stored element into array   * return: -1 not found empty position, array is full!, >-1 return position of stored element into array
  */   */
inline intint
array_Push(array_t * __restrict arr, void **data, int nogrow)array_Push(array_t * __restrict arr, void *data, int nogrow)
 {  {
         int ret = -1;          int ret = -1;
   
Line 387  array_Push(array_t * __restrict arr, void **data, int  Line 387  array_Push(array_t * __restrict arr, void **data, int 
         if (!nogrow && ret >= array_Size(arr) && array_Grow(arr, ret + 1, 0))          if (!nogrow && ret >= array_Size(arr) && array_Grow(arr, ret + 1, 0))
                 return -1;                  return -1;
   
        ret = arr->arr_last++;        ret = ++arr->arr_last;
        if (data)        arr->arr_data[arr->arr_last] = data;
                arr->arr_data[arr->arr_last] = *data; 
   
         return ret;          return ret;
 }  }
Line 402  array_Push(array_t * __restrict arr, void **data, int  Line 401  array_Push(array_t * __restrict arr, void **data, int 
  * @nodel = Don't delete after Pop element   * @nodel = Don't delete after Pop element
  * return: -1 not found used position, array is empty!, >-1 return element position   * return: -1 not found used position, array is empty!, >-1 return element position
  */   */
inline intint
 array_Pop(array_t * __restrict arr, void ** __restrict data, int nodel)  array_Pop(array_t * __restrict arr, void ** __restrict data, int nodel)
 {  {
         int ret = -1;          int ret = -1;
Line 410  array_Pop(array_t * __restrict arr, void ** __restrict Line 409  array_Pop(array_t * __restrict arr, void ** __restrict
         if (!arr)          if (!arr)
                 return -1;                  return -1;
   
        ret = array_Last(arr);        if ((ret = array_Last(arr)) != -1) {
                if (data)
        if (data)                        *data = arr->arr_data[arr->arr_last];
                *data = arr->arr_data[ret];                if (!nodel)
        if (!nodel)                        arr->arr_data[arr->arr_last] = NULL;
                arr->arr_data[arr->arr_last--] = NULL;                arr->arr_last--;
         }
   
         return ret;          return ret;
 }  }

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.1.6.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>