Diff for /libaitio/src/Attic/array.c between versions 1.3.2.1 and 1.4.2.2

version 1.3.2.1, 2011/08/25 13:50:16 version 1.4.2.2, 2011/08/31 12:46:58
Line 69  io_arrayInit(int numItems) Line 69  io_arrayInit(int numItems)
                 free(arr);                  free(arr);
                 return NULL;                  return NULL;
         } else          } else
                memset(arr->arr_data, 0, io_arraySize(arr) * sizeof(void*));                io_arrayZero(arr);
   
         return arr;          return arr;
 }  }
Line 150  io_arrayFree(array_t * __restrict arr) Line 150  io_arrayFree(array_t * __restrict arr)
 {  {
         register int i;          register int i;
   
         assert(arr);  
         if (!arr)          if (!arr)
                 return;                  return;
   
Line 169  io_arrayFree(array_t * __restrict arr) Line 168  io_arrayFree(array_t * __restrict arr)
 inline void  inline void
 io_arrayDestroy(array_t ** __restrict parr)  io_arrayDestroy(array_t ** __restrict parr)
 {  {
        assert(parr);        if (!parr || !*parr)
        if (!parr) 
                 return;                  return;
   
         if ((*parr)->arr_data)          if ((*parr)->arr_data)
Line 202  io_arrayLen(array_t * __restrict arr) Line 200  io_arrayLen(array_t * __restrict arr)
  * io_arrayGrow() - Grow/Shrink dynamic array, Use with care when it shrink!!!   * io_arrayGrow() - Grow/Shrink dynamic array, Use with care when it shrink!!!
  * @arr = Array   * @arr = Array
  * @newNumItems = Number of Items   * @newNumItems = Number of Items
    * @freeShrink = Free elements before shrink array
  * return: -1 error, 0 ok   * return: -1 error, 0 ok
  */   */
 int  int
io_arrayGrow(array_t * __restrict arr, int newNumItems)io_arrayGrow(array_t * __restrict arr, int newNumItems, int freeShrink)
 {  {
         void **data;          void **data;
         int n = 0;          int n = 0;
/*        register int i; */        register int i;
   
         assert(arr);          assert(arr);
         if (!arr)          if (!arr)
Line 219  io_arrayGrow(array_t * __restrict arr, int newNumItems Line 218  io_arrayGrow(array_t * __restrict arr, int newNumItems
                 return 0;                  return 0;
         if (io_arraySize(arr) < newNumItems) {          if (io_arraySize(arr) < newNumItems) {
                 n = newNumItems - io_arraySize(arr);                  n = newNumItems - io_arraySize(arr);
        } /* else        } 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])
                                 free(arr->arr_data[i]);                                  free(arr->arr_data[i]);
                                 */  
   
         arr->arr_num = newNumItems;          arr->arr_num = newNumItems;
         if (io_arraySize(arr)) {          if (io_arraySize(arr)) {
Line 367  io_arrayConcat(array_t * __restrict dest, array_t * __ Line 365  io_arrayConcat(array_t * __restrict dest, array_t * __
                 return -1;                  return -1;
   
         n = io_arraySize(dest);          n = io_arraySize(dest);
        if (io_arrayGrow(dest, n + io_arraySize(src)))        if (io_arrayGrow(dest, n + io_arraySize(src), 0))
                 return -1;                  return -1;
         memcpy(dest->arr_data + n, src->arr_data, io_arraySize(src) * sizeof(void*));          memcpy(dest->arr_data + n, src->arr_data, io_arraySize(src) * sizeof(void*));
   
         return io_arraySize(dest);          return io_arraySize(dest);
   }
   
   /*
    * io_arrayCopy() Copy source array to destination array
    * @dest = Destination array, after use free with io_arrayDestroy()
    * @src = Source array
    * return: -1 error; >0 count of destination array
    */
   int
   io_arrayCopy(array_t ** __restrict dest, array_t * __restrict src)
   {
           assert(dest);
           assert(src);
           if (!dest || !src)
                   return -1;
   
           *dest = io_arrayInit(io_arraySize(src));
           if (!*dest)
                   return -1;
   
           memcpy((*dest)->arr_data, src->arr_data, io_arraySize(*dest) * sizeof(void*));
           return io_arraySize(*dest);
 }  }
   
 /*  /*

Removed from v.1.3.2.1  
changed lines
  Added in v.1.4.2.2


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