Coccinelle输出

时间:2015-07-10 10:40:47

标签: c coccinelle

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

目前我正在遵循this article

的步骤
  1. 我创建了c文件
  2. 我创建了coccinelle脚本
  3. 我使用

    运行它
    $ spatch -sp_file test.cocci test.c
    
  4. 在终端中,我得到了文章

    中提到的预期结果
    --- 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文件没有按预期发生变化。

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

2 个答案:

答案 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