On Oct 08 2016, Julia Lawall <julia.law...@lip6.fr> wrote: >> > Write separate rules for that. You would need one case for a local >> > variable and one case fora parameter. You can actually probably just drop >> > the rule you have currently. I would imagine something like the >> > following: >> > >> > @@ >> > symbol f, se; // avoid unneeded warnings from Coccinelle >> > @@ >> > >> > struct fuse_session * >> > -f >> > +se >> > ; >> > <... >> > -f >> > +se >> > ...> >> > @@ >> > identifier fn; >> > @@ >> > >> > fn(...,struct fuse_session *f,...) { <... >> > -f >> > +se >> > ...> } >> > >> > I think that the symbol declaration has effect in the rest of the semantic >> > patch, and does not have to be repeated. If you get warnings for the >> > second rule, just copy it down. >> >> I don't get Coccinelle warnings, but if I just use the two rules as >> you gave them, then it looks as if the second one isn't working: >> >> @@ -584,9 +584,9 @@ static struct fuse_ll_pipe *fuse_ll_get_ >> >> static void fuse_ll_clear_pipe(struct fuse_session *f) >> { >> - struct fuse_ll_pipe *llp = pthread_getspecific(f->pipe_key); >> + struct fuse_ll_pipe *llp = pthread_getspecific(se->pipe_key); >> if (llp) { >> - pthread_setspecific(f->pipe_key, NULL); >> + pthread_setspecific(se->pipe_key, NULL); >> fuse_ll_pipe_free(llp); >> } >> } >> >> >> Is the problem that "...," does not match nothing, i.e. *f must not be >> the first argument of the function? > > It should match nothing. What version of Coccinelle do you have?
I used 1.0.0-rc22 (from Debian stable). However, I just downloaded the pre-compiled version from http://coccinelle.lip6.fr/download.php and it gives the same result. In case you want to try yourself: the sources that I'm running this on are available at https://github.com/libfuse/libfuse. Best, -Nikolaus -- GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599F Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F »Time flies like an arrow, fruit flies like a Banana.« _______________________________________________ Cocci mailing list Cocci@systeme.lip6.fr https://systeme.lip6.fr/mailman/listinfo/cocci