我是coccinelle的初学者,并尝试运行我的第一个例子。
目前我正在遵循this article
的步骤我使用
运行它$ spatch -sp_file test.cocci test.c
在终端中,我得到了文章
中提到的预期结果--- test.c
+++ /tmp/cocci-output-17416-b5450d-test.c
@@ -7,7 +7,7 @@ main(int argc, char *argv[])
char *buf;
/* allocate memory */
- buf = alloca(bytes);
+ buf = malloc(bytes);
return 0;
}
然而,c文件没有按预期发生变化。
任何机构都可以告诉我在哪里可以获得脚本所做的更改吗?
答案 0 :(得分:1)
使用
spatch --help
我得到了命令spatch的所有选项。 所以我应该使用
$ spatch -sp_file test.cocci test.c -o /tmp/newtest.c
运行补丁的结果在/tmp/newtest.c
中答案 1 :(得分:1)
您可以使用--in-place
选项。
所以以下应该做你想做的事。
$ spatch -sp_file test.cocci test.c --in-place