1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
|
@@
type T;
T *dst_ptr;
T *src_ptr;
expression n;
@@
- memcpy(dst_ptr, src_ptr, (n) * \( sizeof(T)
- \| sizeof(*(dst_ptr))
- \| sizeof(*(src_ptr))
- \| sizeof(dst_ptr[...])
- \| sizeof(src_ptr[...])
- \) )
+ COPY_ARRAY(dst_ptr, src_ptr, n)
@@
type T;
T *dst_ptr;
T[] src_arr;
expression n;
@@
- memcpy(dst_ptr, src_arr, (n) * \( sizeof(T)
- \| sizeof(*(dst_ptr))
- \| sizeof(*(src_arr))
- \| sizeof(dst_ptr[...])
- \| sizeof(src_arr[...])
- \) )
+ COPY_ARRAY(dst_ptr, src_arr, n)
@@
type T;
T[] dst_arr;
T *src_ptr;
expression n;
@@
- memcpy(dst_arr, src_ptr, (n) * \( sizeof(T)
- \| sizeof(*(dst_arr))
- \| sizeof(*(src_ptr))
- \| sizeof(dst_arr[...])
- \| sizeof(src_ptr[...])
- \) )
+ COPY_ARRAY(dst_arr, src_ptr, n)
@@
type T;
T[] dst_arr;
T[] src_arr;
expression n;
@@
- memcpy(dst_arr, src_arr, (n) * \( sizeof(T)
- \| sizeof(*(dst_arr))
- \| sizeof(*(src_arr))
- \| sizeof(dst_arr[...])
- \| sizeof(src_arr[...])
- \) )
+ COPY_ARRAY(dst_arr, src_arr, n)
@@
type T;
T *dst;
T *src;
expression n;
@@
(
- memmove(dst, src, (n) * sizeof(*dst));
+ MOVE_ARRAY(dst, src, n);
|
- memmove(dst, src, (n) * sizeof(*src));
+ MOVE_ARRAY(dst, src, n);
|
- memmove(dst, src, (n) * sizeof(T));
+ MOVE_ARRAY(dst, src, n);
)
@@
type T;
T *ptr;
expression n;
@@
- ptr = xmalloc((n) * sizeof(*ptr));
+ ALLOC_ARRAY(ptr, n);
@@
type T;
T *ptr;
expression n;
@@
- ptr = xmalloc((n) * sizeof(T));
+ ALLOC_ARRAY(ptr, n);
@@
type T;
T *ptr;
expression n != 1;
@@
- ptr = xcalloc(n, \( sizeof(*ptr) \| sizeof(T) \) )
+ CALLOC_ARRAY(ptr, n)
@@
expression dst, src, n;
@@
-ALLOC_ARRAY(dst, n);
-COPY_ARRAY(dst, src, n);
+DUP_ARRAY(dst, src, n);
|