/usr/share/doc/git/contrib/coccinelle
NameSizeModeActions
array.cocci13400644editdlrm
commit.cocci10240644editdlrm
flex_alloc.cocci2660644editdlrm
free.cocci1460644editdlrm
hashmap.cocci2800644editdlrm
object_id.cocci12800644editdlrm
preincr.cocci500644editdlrm
qsort.cocci6100644editdlrm
README21300644editdlrm
strbuf.cocci8670644editdlrm
swap.cocci2800644editdlrm
the_repository.pending.cocci20420644editdlrm
xcalloc.cocci960644editdlrm
xopen.cocci2950644editdlrm
xstrdup_or_null.cocci1610644editdlrm
Edit: /usr/share/doc/git/contrib/coccinelle/array.cocci (1340B)
@@ 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)