Am 12.11.19 um 16:08 schrieb Markus Elfring: > Hello, > > I would like to comment implementation details from > the commit 177fbab747da4f58cb2a8ce010b3515c86dd67c9 ("coccinelle: use COPY_ARRAY for copying arrays"). > > > Do you find the following code variant (for the semantic patch language) also useful? > > memcpy( > ( ptr, E, n * > - sizeof(*(ptr)) > + sizeof(T) > | arr, E, n * > - sizeof(*(arr)) > + sizeof(T) > | E, ptr, n * > - sizeof(*(ptr)) > + sizeof(T) > | E, arr, n * > - sizeof(*(arr)) > + sizeof(T) > ) > ) This reduces duplication in the semantic patch, which is nice. I think I tried something like that at the time, but found that it failed to produce some of the cases in 921d49be86 ("use COPY_ARRAY for copying arrays", 2019-06-15) for some reason. > How do you think about the following SmPL code variant? > > -memcpy > +COPY_ARRAY > ( > ( dst_ptr > | dst_arr > ) > , > ( src_ptr > | src_arr > ) > , > - (n) * sizeof(T) > + n > ) This eliminates duplication in the semantic patch, which is good. It messes up the indentation of n in some of the cases in 921d49be86 ("use COPY_ARRAY for copying arrays", 2019-06-15), though. Hmm, but that can be cured by duplicating the comma: - , (n) * sizeof(T) + , n René