| @@ |
| expression dst, src, n, E; |
| @@ |
| memcpy(dst, src, n * sizeof( |
| - E[...] |
| + *(E) |
| )) |
| |
| @@ |
| type T; |
| T *ptr; |
| T[] arr; |
| expression E, n; |
| @@ |
| ( |
| memcpy(ptr, E, |
| - n * sizeof(*(ptr)) |
| + n * sizeof(T) |
| ) |
| | |
| memcpy(arr, E, |
| - n * sizeof(*(arr)) |
| + n * sizeof(T) |
| ) |
| | |
| memcpy(E, ptr, |
| - n * sizeof(*(ptr)) |
| + n * sizeof(T) |
| ) |
| | |
| memcpy(E, arr, |
| - n * sizeof(*(arr)) |
| + n * sizeof(T) |
| ) |
| ) |
| |
| @@ |
| type T; |
| T *dst_ptr; |
| T *src_ptr; |
| T[] dst_arr; |
| T[] src_arr; |
| expression n; |
| @@ |
| ( |
| - memcpy(dst_ptr, src_ptr, (n) * sizeof(T)) |
| + COPY_ARRAY(dst_ptr, src_ptr, n) |
| | |
| - memcpy(dst_ptr, src_arr, (n) * sizeof(T)) |
| + COPY_ARRAY(dst_ptr, src_arr, n) |
| | |
| - memcpy(dst_arr, src_ptr, (n) * sizeof(T)) |
| + COPY_ARRAY(dst_arr, src_ptr, n) |
| | |
| - memcpy(dst_arr, src_arr, (n) * sizeof(T)) |
| + 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) |