Diff for /libaitio/src/Attic/array.c between versions 1.1.2.3 and 1.2

version 1.1.2.3, 2011/04/19 22:32:16 version 1.2, 2011/04/20 22:56:32
Line 27  are met: Line 27  are met:
    must display the following acknowledgement:     must display the following acknowledgement:
 This product includes software developed by Michael Pounov <misho@elwix.org>  This product includes software developed by Michael Pounov <misho@elwix.org>
 ELWIX - Embedded LightWeight unIX and its contributors.  ELWIX - Embedded LightWeight unIX and its contributors.
4. Neither the name of the University nor the names of its contributors4. Neither the name of AITNET nor the names of its contributors
    may be used to endorse or promote products derived from this software     may be used to endorse or promote products derived from this software
    without specific prior written permission.     without specific prior written permission.
   
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' ANDTHIS SOFTWARE IS PROVIDED BY AITNET AND CONTRIBUTORS ``AS IS'' AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE  ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
Line 222  io_arrayVacuum(array_t * __restrict arr, int fromWhere Line 222  io_arrayVacuum(array_t * __restrict arr, int fromWhere
         }          }
   
         return cx;          return cx;
   }
   
   /*
    * 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;
 }  }
   
 /*  /*

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


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