Diff for /libelwix/inc/elwix/avar.h between versions 1.5.2.1 and 1.10.42.1

version 1.5.2.1, 2013/08/21 16:04:14 version 1.10.42.1, 2019/08/16 15:23:33
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 57  typedef enum { Line 57  typedef enum {
         i8, i16, i32, i64,              /* integers ... */          i8, i16, i32, i64,              /* integers ... */
 } ait_type_t;  } ait_type_t;
   
typedef struct {typedef struct __packed {
         uint8_t         val_type;          uint8_t         val_type;
         union {          union {
                 struct {                  struct {
Line 93  typedef struct { Line 93  typedef struct {
                 int64_t         i64;                  int64_t         i64;
         } val;          } val;
         uint8_t         val_data[0];          uint8_t         val_data[0];
} __packed ait_val_t;      /* sizeof 16 bytes */} /*__packed*/ ait_val_t;     /* sizeof 16 bytes */
   
 #define AIT_TYPE(_vl)                   ((ait_type_t) (_vl)->val_type)  #define AIT_TYPE(_vl)                   ((ait_type_t) (_vl)->val_type)
 #define AIT_LEN(_vl)                    (_vl)->val_len  #define AIT_LEN(_vl)                    (_vl)->val_len
Line 304  typedef struct { Line 304  typedef struct {
                                                                 AIT_SET_STR((_vl), \                                                                  AIT_SET_STR((_vl), \
                                                                                 AIT_GET_STR((_v))); \                                                                                  AIT_GET_STR((_v))); \
                                                                 break; \                                                                  break; \
                                                           case data: \
                                                                   AIT_SET_DATA((_vl), \
                                                                                   AIT_GET_DATA((_v)), \
                                                                   break; \
                                                         default: \                                                          default: \
                                                                 break; \                                                                  break; \
                                                 } \                                                  } \
Line 318  typedef struct { Line 322  typedef struct {
                                                 .val_key = 0, .val_len = 0, \                                                  .val_key = 0, .val_len = 0, \
                                                 .val.net = 0LL \                                                  .val.net = 0LL \
                                         }                                          }
   #define AIT_VAL_INIT                    AIT_VAL_INITIALIZER()
 #define AIT_INIT_VAL(_vl)               (memset((_vl), 0, sizeof(ait_val_t)))  #define AIT_INIT_VAL(_vl)               (memset((_vl), 0, sizeof(ait_val_t)))
 #define AIT_INIT_VAL2(_vl, _t)          do { \  #define AIT_INIT_VAL2(_vl, _t)          do { \
                                                 AIT_INIT_VAL((_vl)); \                                                  AIT_INIT_VAL((_vl)); \
Line 330  typedef struct { Line 335  typedef struct {
                                                                 if (!__val->val_in && \                                                                  if (!__val->val_in && \
                                                                                 __val->val.buffer) \                                                                                  __val->val.buffer) \
                                                                         e_free(__val->val.buffer); \                                                                          e_free(__val->val.buffer); \
                                                                 __val->val.buffer = NULL; \  
                                                                 break; \                                                                  break; \
                                                         case string: \                                                          case string: \
                                                                 if (!__val->val_in && \                                                                  if (!__val->val_in && \
                                                                                 __val->val.string) \                                                                                  __val->val.string) \
                                                                         e_free(__val->val.string); \                                                                          e_free(__val->val.string); \
                                                                 __val->val.string = NULL; \  
                                                                 break; \                                                                  break; \
                                                           case data: \
                                                                   if (!__val->val_in) \
                                                                           memset(__val->val_data, 0, \
                                                                                           AIT_LEN(__val)); \
                                                                   break; \
                                                         default: \                                                          default: \
                                                                 break; \                                                                  break; \
                                                 } \                                                  } \
                                                 __val->val_type = empty; \                                                  __val->val_type = empty; \
                                                 __val->val_opt ^= __val->val_opt; \                                                  __val->val_opt ^= __val->val_opt; \
                                                   __val->val.net ^= __val->val.net; \
                                                 AIT_LEN(__val) = 0; \                                                  AIT_LEN(__val) = 0; \
                                                 AIT_KEY(__val) = 0; \                                                  AIT_KEY(__val) = 0; \
                                         } while (0)                                          } while (0)
Line 508  ait_val_t *ait_getVars(array_t ** __restrict vars, int Line 517  ait_val_t *ait_getVars(array_t ** __restrict vars, int
  * ait_resideVars() - Calculate footprint of resided variables into array   * ait_resideVars() - Calculate footprint of resided variables into array
  *   *
  * @vars = Variable array   * @vars = Variable array
 * return: -1 error or !=-1 bytes for whole array * return: bytes for whole array
  */   */
ssize_t ait_resideVars(array_t * __restrict vars);size_t ait_resideVars(array_t * __restrict vars);
 /*  /*
  * ait_sortVarsByKey() - Sorting array with variables by key   * ait_sortVarsByKey() - Sorting array with variables by key
  *   *

Removed from v.1.5.2.1  
changed lines
  Added in v.1.10.42.1


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