Diff for /libaitio/inc/aitio.h between versions 1.8 and 1.10

version 1.8, 2011/04/20 22:56:32 version 1.10, 2011/06/07 11:49:39
Line 55  SUCH DAMAGE. Line 55  SUCH DAMAGE.
 #define VACUUM_BETWEEN  2  #define VACUUM_BETWEEN  2
   
   
   typedef void ** sarr_seg_t;
   typedef struct _tagSplitArray {
           int             sarr_num;
           int             sarr_seg;
           int             sarr_siz;
           sarr_seg_t      *sarr_data;
   } sarr_t;
   
 typedef struct _tagArray {  typedef struct _tagArray {
         int     arr_num;          int     arr_num;
         void    **arr_data;          void    **arr_data;
Line 211  inline char *io_Hex2Ch(unsigned char *psLine, int line Line 219  inline char *io_Hex2Ch(unsigned char *psLine, int line
  */   */
 inline array_t *io_arrayInit(int numItems);  inline array_t *io_arrayInit(int numItems);
 /*  /*
 * io_arrayDestroy() - Free all data in dynamic array and Destroy dynamic array * io_arrayDestroy() - Free and destroy dynamic array
  * @parr = Array   * @parr = Array
  * return: none   * return: none
  */   */
 inline void io_arrayDestroy(array_t ** __restrict parr);  inline void io_arrayDestroy(array_t ** __restrict parr);
 /*  /*
 * io_arrayFree() - Free all data in dynamic array * io_arrayFree() - Free all data in dynamic array items
  *      (WARNING! If assign static array dont use this!!!)   *      (WARNING! If assign static array dont use this!!!)
  * @arr = Array   * @arr = Array
  * return: none   * return: none
  */   */
 inline void io_arrayFree(array_t * __restrict arr);  inline void io_arrayFree(array_t * __restrict arr);
 /*  /*
    * io_arrayFrom() - Create and fill array from array with pointers
    * @argv = Array with pointers
    * @argc = Number of Items, if 0 walk through argv and stop when reach NULL item
    * return: NULL error, != NULL allocated memory for array
    */
   inline array_t *io_arrayFrom(const char **argv, int argc);
   /*
    * io_arrayTo() - Create and fill array with pointers from dynamic array
    * @arr = Array
    * return: NULL error, != NULL allocated memory for array
    */
   inline char **io_arrayTo(array_t * __restrict arr);
   /*
  * io_arrayLen() - Get last used element in dynamic array (array Length)   * io_arrayLen() - Get last used element in dynamic array (array Length)
  * @arr = Array   * @arr = Array
  * return: -1 error, 0 empty or >0 position of last used element   * return: -1 error, 0 empty or >0 position of last used element
  */   */
 inline int io_arrayLen(array_t * __restrict arr);  inline int io_arrayLen(array_t * __restrict arr);
 /*  /*
    * io_arrayConcat() Concat source array to destination array
    * @dest = Destination array
    * @src = Source array
    * return: -1 error; >0 new count of destination array
    */
   int io_arrayConcat(array_t * __restrict dest, array_t * __restrict src);
   /*
  * io_arrayGrow() - Grow/Shrink dynamic array, Use with care when it shrink!!!   * io_arrayGrow() - Grow/Shrink dynamic array, Use with care when it shrink!!!
  * @arr = Array   * @arr = Array
  * @newNumItems = Number of Items   * @newNumItems = Number of Items
Line 252  int io_arrayVacuum(array_t * __restrict arr, int fromW Line 280  int io_arrayVacuum(array_t * __restrict arr, int fromW
                                                 assert(_arr && _arr->arr_num > _d); \                                                  assert(_arr && _arr->arr_num > _d); \
                                                 *(_arr->arr_data + _d) = (void*) _ptr; \                                                  *(_arr->arr_data + _d) = (void*) _ptr; \
                                         } while (0)                                          } while (0)
   #define io_arrayDel(_arr, _d)           do { \
                                                   assert(_arr && _arr->arr_num > _d); \
                                                   *(_arr->arr_data + _d) = NULL; \
                                           } while (0)
   
 /*  /*
  * io_arrayPush() - Push element into dynamic array like stack manner, place at first empty position   * io_arrayPush() - Push element into dynamic array like stack manner, place at first empty position
Line 302  int io_arrayMake(char * __restrict psArgs, int nargs,  Line 334  int io_arrayMake(char * __restrict psArgs, int nargs, 
 int io_MakeAV(const char * __restrict csArgs, const char *csDelim,   int io_MakeAV(const char * __restrict csArgs, const char *csDelim, 
                 char * __restrict psAttr, int attrLen, char * __restrict psValue, int valLen);                  char * __restrict psAttr, int attrLen, char * __restrict psValue, int valLen);
   
   /*
    * io_sarrInit() - Create and initialize dynamic split-order array
    * @numItems = Number of Items
    * @segLen = Length of segment
    * return: NULL error, != NULL allocated memory for array
    */
   inline sarr_t *io_sarrInit(int numItems, int segLen);
   /*
    * io_sarrDestroy() - Free all data in dynamic split-order array and Destroy array
    * @parr = Array
    * return: none
    */
   inline void io_sarrDestroy(sarr_t ** __restrict parr);
   /*
    * io_sarrGrow() - Grow/Shrink dynamic split-order array, Use with care when it shrink!!!
    * @arr = Array
    * @newNumItems = Number of Items
    * return: -1 error, 0 ok
    */
   int io_sarrGrow(sarr_t * __restrict arr, int newNumItems);
   /*
    * io_sarrVacuum() - Vacuum dynamic split-order array, empty segments will be freed
    * @arr = Array
    * return: -1 error, >-1 freed segments
    */
   inline int io_sarrVacuum(sarr_t * __restrict arr);
   #define io_sarrSize(_arr)               ((assert(_arr)), _arr->sarr_num)
   /*
    * io_sarrGet() - Get element from dynamic split-order array
    * @arr = Array
    * @idx = Index (warning 1st element is at position 1)
    * return: NULL not found, !=NULL element
    */
   inline void *io_sarrGet(sarr_t * __restrict arr, unsigned 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, unsigned int idx);
   /*
    * io_sarrSet() - Set element to dynamic split-order array
    * @arr = Array
    * @idx = Index (warning 1st element is at position 1)
    * @data = Value
    * return: NULL error or empty, !=NULL old value in element
    */
   inline void *io_sarrSet(sarr_t * __restrict arr, unsigned int idx, void *data);
   #define io_sarrDel(_arr, _idx)          io_sarrSet(_arr, _idx, NULL)
   #define io_sarr(_arr, _idx, _type)      (_type)io_sarrGet(_arr, _idx)
   
   /*
    * io_CopyEnv() Copy environment to new environment array;
    * @oldenv = Environment array
    * return: NULL error; !=NULL Allocated new environment array(must be free)
   */
   char **io_CopyEnv(const char **oldenv);
   /*
    * io_ExecArgs() Build exec arguments from other array
    * @psProg = Program name for execute
    * @oldarg = Arguments array
    * return: NULL error; !=NULL Allocated execution array(must be free)
   */
   char **io_ExecArgs(const char *psProg, const char **oldarg);
   /*
    * io_FreeNullTerm() Free dynamic allocated null terminated array with strings
    * @arr = Pointer to array for free
    * return: none
   */
   inline void io_FreeNullTerm(char *** __restrict arr);
   
 /*  /*
  * ioURLGet() Parse and get data from input URL   * ioURLGet() Parse and get data from input URL

Removed from v.1.8  
changed lines
  Added in v.1.10


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