Diff for /libelwix/inc/elwix/aarray.h between versions 1.6 and 1.7

version 1.6, 2015/06/25 17:53:49 version 1.7, 2018/05/28 22:56:23
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 - 2015Copyright 2004 - 2018
         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 60  typedef struct _tagArray { Line 60  typedef struct _tagArray {
   
 #define array_Ptr(_arr, _d)             ((_arr) ? (_arr)->arr_data[_d] : NULL)  #define array_Ptr(_arr, _d)             ((_arr) ? (_arr)->arr_data[_d] : NULL)
 #define array_Get2(_arr, _d)            (assert((_arr) && (_arr)->arr_num > _d), ((_arr)->arr_data + _d))  #define array_Get2(_arr, _d)            (assert((_arr) && (_arr)->arr_num > _d), ((_arr)->arr_data + _d))
#define array_Get(_arr, _d)             (assert((_arr) && (_arr)->arr_num > _d), (_arr)->arr_data[_d])#define array_Get(_arr, _d)             (assert((_arr)), (_arr)->arr_data[_d])
#define array(_arr, _d, _type)          (assert((_arr) && (_arr)->arr_num > _d), \#define array(_arr, _d, _type)          (assert((_arr)), ((_type) (_arr)->arr_data[_d]))
                                                ((_type) (_arr)->arr_data[_d]))#define array_Set(_arr, _d, _ptr)       do { int __d = _d; assert((_arr) && (_arr)->arr_num > __d); \
#define array_Set(_arr, _d, _ptr)       do { assert((_arr) && (_arr)->arr_num > _d); \                                                if ((_arr)->arr_last < __d) \
                                                if ((_arr)->arr_last < _d) \                                                        (_arr)->arr_last = __d; \
                                                        (_arr)->arr_last = _d; \                                                (_arr)->arr_data[__d] = (void*) (_ptr); \
                                                (_arr)->arr_data[_d] = (void*) (_ptr); \ 
                                         } while (0)                                          } while (0)
#define array_Del(_arr, _d, _fri)       do { assert((_arr) && (_arr)->arr_num > _d); \#define array_Del(_arr, _d, _fri)       do { int __d = _d; assert((_arr) && (_arr)->arr_num > __d); \
                                                if (_fri && (_arr)->arr_data[_d]) \                                                if (_fri && (_arr)->arr_data[__d]) \
                                                        e_free((_arr)->arr_data[_d]); \                                                        e_free((_arr)->arr_data[__d]); \
                                                (_arr)->arr_data[_d] = NULL; \                                                (_arr)->arr_data[__d] = NULL; \
                                         } while (0)                                          } while (0)
   
 /*  /*

Removed from v.1.6  
changed lines
  Added in v.1.7


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