X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=common%2Farray.h;h=6f5217d6693e0318021e6876553d4a5a15762bfa;hb=f47b916bf7581b0070431eb70f43710e4c79fc98;hp=63e66cf8353403b84e0df7ded75ea7a6cf7ffd4b;hpb=7797907ca88550c2c3e8268364227214cbdc8f85;p=apps%2Fpfixtools.git diff --git a/common/array.h b/common/array.h index 63e66cf..6f5217d 100644 --- a/common/array.h +++ b/common/array.h @@ -111,9 +111,9 @@ array_ensure_capacity_delta(array, 1); \ (array).data[(array).len++] = (obj); \ } while (0) -#define array_append(array, objs, len) \ +#define array_append(array, objs, Len) \ do { \ - const typeof((array).len) __len = (len); \ + const typeof((array).len) __len = (Len); \ array_ensure_capacity_delta(array, __len); \ memcpy((array).data + (array).len, objs, \ __len * sizeof(*(array).data)); \ @@ -143,8 +143,8 @@ array_ensure_can_edit(array); \ p_shrink(&(array).data, (array).len, &(array).size); \ } while (0) -#define array_elt(array, n) (array).data[(n)] -#define array_ptr(array, n) (array).data + (n) +#define array_elt(array, n) ((array).data[(n)]) +#define array_ptr(array, n) ((array).data + (n)) #define foreach(var, array) \ for (uint32_t __Ai = 0 ; __Ai < (array).len ; ++__Ai) { \ @@ -163,7 +163,7 @@ #define array_len(array) (array).len #define array_size(array) (array).size #define array_elt_len(array) sizeof(*(array).data) -#define array_byte_len(array) (array).len * array_elt_len(array) +#define array_byte_len(array) ((array).len * array_elt_len(array)) #define array_lock(array) \ ((array).locked \ @@ -178,6 +178,7 @@ ARRAY(char) ARRAY(int) ARRAY(bool) +ARRAY(uint16_t) ARRAY(uint32_t) PARRAY(void)