Beispiel #1
0
/*----------------------------------------------------------------------------+
 | Function     : ArrayAddItem
 |
 | Description  : Add item to the end of the specified array (always added as
 |                the last item)
 |
 | Input        : arr     Pointer to array structure we're interested in
 |                item    Pointer to item to add
 |
 | Output       : None
 |
 | Return       : TRUE or FALSE
 +----------------------------------------------------------------------------*/
int
ArrayAddItem (JNL_ARRAY *arr, void *item)
{
int rtv = FALSE;

   if (arr != NULL && item != NULL)
   {
      if (arr->auto_extend && arr->nitems >= arr->array_size)
         rtv = ArrayExtend (arr, arr->extend_size);

      if (arr->nitems < arr->array_size)
      {
         memcpy (ArrayIndexAddress (arr, arr->nitems), item, arr->item_size);
         arr->last_item = arr->nitems;
         if (arr->first_item == -1)
            arr->first_item = 0;
         ++arr->nitems;
         if (arr->auto_sort)
            ArraySort (arr);
         else
            arr->sorted = FALSE; /* Can't guarantee order */
         rtv = TRUE;
      }
   }
   return rtv;
}
Beispiel #2
0
int main(int argc, char *argv[])
{
  int indx;
int array_size;
  if (argc > 1)
    {
	array_size = atoi(argv[1]);
    }
    else
    {
	array_size = 1024;
    }

  my_array = (int *) malloc(sizeof(int)*array_size);
  fill_array(array_size);
 
  ArraySort(my_array, cmpfun, array_size);
 
  free(my_array);
  return(0);
}