Diff for /libaitio/src/Attic/sarray.c between versions 1.1.2.2 and 1.2

version 1.1.2.2, 2011/05/03 14:22:18 version 1.2, 2011/05/03 15:41:00
Line 156  io_sarrGet(sarr_t * __restrict arr, u_int idx) Line 156  io_sarrGet(sarr_t * __restrict arr, u_int idx)
 }  }
   
 /*  /*
    * io_sarrGet2() - Always get element from dynamic split-order array
    *      Function automatic grow array. Good use for Hash tables! 
    * @arr = Array
    * @idx = Index (warning 1st element is at position 1)
    * return: NULL not found, !=NULL element
    */
   void *
   io_sarrGet2(sarr_t * __restrict arr, u_int idx)
   {
           assert(arr);
           if (!arr || idx < 1)
                   return NULL;
           if (arr->sarr_num < idx)
                   if (io_sarrGrow(arr, idx))
                           return NULL;
           return io_sarrGet(arr, idx);
   }
   
   /*
  * io_sarrSet() - Set element to dynamic split-order array   * io_sarrSet() - Set element to dynamic split-order array
  * @arr = Array   * @arr = Array
  * @idx = Index (warning 1st element is at position 1)   * @idx = Index (warning 1st element is at position 1)
Line 174  io_sarrSet(sarr_t * __restrict arr, u_int idx, void *d Line 193  io_sarrSet(sarr_t * __restrict arr, u_int idx, void *d
                 return ret;                  return ret;
   
         seg = arr->sarr_data[idx / arr->sarr_seg];          seg = arr->sarr_data[idx / arr->sarr_seg];
        if (seg) {        if (!seg) {
                pos = idx % arr->sarr_seg;                seg = calloc(arr->sarr_seg, sizeof(void*));
                ret = seg[pos];                if (!seg) {
                seg[pos] = data;                        LOGERR;
                         return ret;
                 } else
                         memset(seg, 0, arr->sarr_seg * sizeof(void*));
                 arr->sarr_data[idx / arr->sarr_seg] = seg;
         }          }
   
           pos = idx % arr->sarr_seg;
           ret = seg[pos];
           seg[pos] = data;
   
         return ret;          return ret;
 }  }

Removed from v.1.1.2.2  
changed lines
  Added in v.1.2


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