// spatch.opt -j 44 ~/linux-next stracpy.cocci --all-includes --include-headers-for-types --very-quiet > stracpy.out @r@ identifier f,i1,i2; struct i1 e1; expression e2; position p; @@ \(strscpy\|strlcpy\)(e1.f, e2, i2)@p @@ identifier r.i1,r.i2; type T; @@ struct i1 { ... T i1[i2]; ... } @@ identifier f,i2; expression e1,e2; position r.p; @@ ( -strscpy +stracpy | -strlcpy +stracpy )(e1.f, e2 - , i2 )@p // --------------------------------- @r1@ struct i1 *e1; expression e2; identifier f,i1,i2; position p; @@ \(strscpy\|strlcpy\)(e1->f, e2, i2)@p @@ identifier r1.i1,r1.i2; type T; @@ struct i1 { ... T i1[i2]; ... } @@ identifier f,i2; expression e1,e2; position r1.p; @@ ( -strscpy +stracpy | -strlcpy +stracpy )(e1->f, e2 - , i2 )@p