Try declarer name RELEASESTR; in the metavariable list.

julia


On Tue, 2 Mar 2010, Nicolas Palix wrote:

> 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)
> 
_______________________________________________
Cocci mailing list
[email protected]
http://lists.diku.dk/mailman/listinfo/cocci
(Web access from inside DIKUs LAN only)

Reply via email to