七星输出

Coccinelle output

我是 coccinelle 的初学者,尝试 运行 我的第一个例子。

目前我正在按照 this article

的步骤进行操作
  1. 我创建了 c 文件
  2. 我创建了 coccinelle 脚本
  3. 我运行它使用

    $ 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 文件没有按预期更改。

任何人都可以告诉我在哪里可以获得脚本所做的更改吗?

使用

spatch --help

我得到了命令 spatch 的所有选项。 所以我应该使用

$ spatch -sp_file test.cocci test.c -o /tmp/newtest.c

补丁运行结果在/tmp/newtest.c

您可以使用 --in-place 选项。

所以下面应该做你想做的。

$ spatch -sp_file test.cocci test.c --in-place