Diff for /libelwix/src/array.c between versions 1.4 and 1.8.4.2

version 1.4, 2014/01/29 14:16:54 version 1.8.4.2, 2019/01/23 17:40:37
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 - 2014Copyright 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 170  array_Destroy(array_t ** __restrict parr) Line 197  array_Destroy(array_t ** __restrict parr)
                 e_free((*parr)->arr_data);                  e_free((*parr)->arr_data);
         e_free(*parr);          e_free(*parr);
         *parr = NULL;          *parr = NULL;
   }
   
   /*
    * 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);
 }  }
   
 /*  /*

Removed from v.1.4  
changed lines
  Added in v.1.8.4.2


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