On Tuesday 02 March 2010 14:55:22 Aaen, Andreas.Bach wrote:
> I have loads of c-files starting with:
> 
> #include <std.h>
> RELEASESTR("$Id:$");
> #include        <stdio.h>
> Now if I would like to remove the RELEASESTR statement, I would expect to do:
> @@
> expression E;
> @@
> -RELEASESTR(E);
> but that doens't match anything. Now what did I overlook?

As it's a macro statement, it must be declare as such in a Coccinelle
macro header file. See standard.h for examples.
I think your macro file should contain:

#define RELEASESTR(x) MACROSTATEMENT


Then give your macro file to spatch with the "-macro_file" option


> 
> Actually I would like to build a litte more complex rule:
> ---------------
> @@
> @@
> -RELEASESTR("$Id:$");
> @r@
> @@
> #include <std.h>
> +RELEASESTR("$Id:$");
> -----------------
> 
> So that I am sure that there only is one RELEASESTR in each file and that 
> it's lpacved right after #include <std.h>
> 
> Regards
> Andreas Bach Aaen
> 

-- 
Nicolas Palix
Tel: (+33) 1 44 27 87 25
_______________________________________________
Cocci mailing list
[email protected]
http://lists.diku.dk/mailman/listinfo/cocci
(Web access from inside DIKUs LAN only)

Reply via email to