// spatch.opt -j 44 ~/linux-next stracpy.cocci --recursive-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,i1; struct i1 e1; expression e2; local idexpression x; position r.p; @@ ( -x = strlcpy +stracpy (e1.f, e2 - , i2 )@p; ... when != x | -strlcpy +stracpy (e1.f, e2 - , i2 )@p; | -strscpy +stracpy (e1.f, e2 - , i2 )@p ... when any )