Diff for /libelwix/src/array.c between versions 1.2 and 1.9

version 1.2, 2013/05/30 09:07:33 version 1.9, 2019/01/23 18:22:41
Line 12  terms: Line 12  terms:
 All of the documentation and software included in the ELWIX and AITNET  All of the documentation and software included in the ELWIX and AITNET
 Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>  Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>
   
Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013Copyright 2004 - 2019
         by Michael Pounov <misho@elwix.org>.  All rights reserved.          by Michael Pounov <misho@elwix.org>.  All rights reserved.
   
 Redistribution and use in source and binary forms, with or without  Redistribution and use in source and binary forms, with or without
Line 68  array_Init(int numItems) Line 68  array_Init(int numItems)
                 e_free(arr);                  e_free(arr);
                 return NULL;                  return NULL;
         } else          } else
                array_Zero(arr);                memset(arr->arr_data, 0, array_Size(arr) * sizeof(intptr_t));
   
         return arr;          return arr;
 }  }
   
 /*  /*
    * array_Init2() - Initialize dynamic array
    *
    * @arr = Allocated array variable
    * @numItems = Number of Items
    * return: NULL error, != NULL allocated memory for array
    */
   array_t *
   array_Init2(array_t * __restrict arr, int numItems)
   {
           if (!arr)
                   return array_Init(numItems);
   
           if (array_Size(arr))
                   return NULL;    /* already allocated array! */
   
           arr->arr_last = -1;
           arr->arr_num = numItems;
           arr->arr_data = e_calloc(array_Size(arr), sizeof(intptr_t));
           if (!arr->arr_data) {
                   e_free(arr);
                   return NULL;
           } else
                   memset(arr->arr_data, 0, array_Size(arr) * sizeof(intptr_t));
   
           return arr;
   }
   
   
   /*
  * array_From() - Create and fill array from array with pointers   * array_From() - Create and fill array from array with pointers
  *   *
  * @pargv = Array with pointers   * @pargv = Array with pointers
Line 146  array_Free(array_t * __restrict arr) Line 175  array_Free(array_t * __restrict arr)
                 return;                  return;
   
         for (i = 0; i < array_Size(arr); i++)          for (i = 0; i < array_Size(arr); i++)
                if (arr->arr_data[i]) {                if (arr->arr_data[i])
                         e_free(arr->arr_data[i]);                          e_free(arr->arr_data[i]);
                         arr->arr_data[i] = NULL;  
                 }  
   
        arr->arr_last = -1;        array_Zero(arr);
 }  }
   
 /*  /*
Line 173  array_Destroy(array_t ** __restrict parr) Line 200  array_Destroy(array_t ** __restrict parr)
 }  }
   
 /*  /*
    * array_Destroy2() - Free data in dynamic array
    *
    * @parr = Array
    * return: none
    */
   void
   array_Destroy2(array_t * __restrict arr)
   {
           if (!arr)
                   return;
   
           if (arr->arr_data)
                   e_free(arr->arr_data);
           memset(arr, 0, sizeof(array_t));
   }
   /*
    * array_Reset() - Reset array to initial state
    *
    * @parr = Array
    * @purge = Purge all data, if <>0 then will be free entire data memory
    * return: none
    */
   void
   array_Reset(array_t * __restrict arr, int purge)
   {
           if (!arr)
                   return;
   
           if (purge && arr->arr_data) {
                   e_free(arr->arr_data);
                   arr->arr_num = 0;
                   arr->arr_data = e_calloc(array_Size(arr), sizeof(intptr_t));
           }
   
           array_Zero(arr);
   }
   
   /*
  * array_Len() - Get last used element in dynamic array (array Length)   * array_Len() - Get last used element in dynamic array (array Length)
  *   *
  * @arr = Array   * @arr = Array
Line 319  array_Concat(array_t * __restrict dest, array_t * __re Line 384  array_Concat(array_t * __restrict dest, array_t * __re
 /*  /*
  * array_Copy() Copy source array to destination array   * array_Copy() Copy source array to destination array
  *   *
 * @dest = Destination array, after use free with io_arrayDestroy() * @dest = Destination array, after use free with array_Destroy()
  * @src = Source array   * @src = Source array
  * return: -1 error; >0 count of destination array   * return: -1 error; >0 count of destination array
  */   */
Line 422  array_Pop(array_t * __restrict arr, void ** __restrict Line 487  array_Pop(array_t * __restrict arr, void ** __restrict
   
 /*  /*
  * array_Args() Parse and make array from arguments ... (input string will be modified!!!    * array_Args() Parse and make array from arguments ... (input string will be modified!!! 
 *      and output array must be free with io_arrayDestroy() after use!) *      and output array must be free with array_Destroy() after use!)
  *   *
  * @psArgs = Input arguments line, after execute string is modified!!!   * @psArgs = Input arguments line, after execute string is modified!!!
  * @nargs = Maximum requested count of arguments from input string psArgs, if 0 all psArgs   * @nargs = Maximum requested count of arguments from input string psArgs, if 0 all psArgs

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


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