Hi,

I'm trying to write a semantic patch that would add a new line to a
function, but would like that line to come after all local variables
(if any) have been declared. For example (distilled from what I am
actually trying to accomplish):

@@
identifier f, s;
@@
f(..., struct mystruct *s, ...) {
/* after any variable declarations*/
+ x = s->x;
 ...
 }

I would like it to patch as follows:

int function(struct mystruct *s) {
+ x = s->x;
return 0;
}

as well as

int function(struct mystruct *s)
{
int y;
+ x = s->x;
return 0;
}

or

int function(struct mystruct *s)
{
int y, z = 10;
float f;
+ x = s->x;
return 0;
}

Any suggestions on how I could do that?

Thanks!
/fuad
_______________________________________________
Cocci mailing list
Cocci@systeme.lip6.fr
https://systeme.lip6.fr/mailman/listinfo/cocci

Reply via email to