On Tue, 7 Jun 2011, Greg Dietsche wrote: > Hi Julia, > > On 06/05/2011 11:55 PM, Julia Lawall wrote: > > Thanks. I tried this too, but I wasn't sure about the results. The > > question is why stop here. > very interesting! Honestly I hadn't thought much further than what you see in > my semantic patch. I'd noticed piece of code in the iwlegacy driver and > wondered what'd happen if I taught myself a little bit about cocci :) > > For example, there are IS_ERR calls that one > > could consider as well. Or ret< 0. Or why not just: > > > > @@ > > expression ret; > > @@ > > > > - if (...) return ret; > > return ret; > > > > Although there might be function calls that one doesn't want to touch, so: > > > > @@ > > identifier f != IS_ERR; > > expression ret; > > statement S; > > @@ > > > > ( > > if (<+...f(...)...+>) S > > | > > - if (...) return ret; > > return ret; > > ) > > > > julia > > > > > > > There seem to be many variations on the theme to consider... though hopefully > the compiler optimizes most of these out... For example, in > sound/soc/codecs/wm8940.c, Jonathan Cameron pointed some code out to me that > looks like this: > > if (ret) > goto error_ret; > > error_ret: > return ret;
Good one :) > As an aside, I added a feature to the script for myself so that I can for > example write 'make coccicheck M=drivers/net/wireless/' for example to focus > in on that directory and just run the checks there... I can submit a patch for > this... though I was wondering if there is already a way to do this and I just > missed it. The thought was to make it work the same way you'd build a module. I think it is possible, but Nicolas would know better. julia _______________________________________________ Cocci mailing list [email protected] http://lists.diku.dk/mailman/listinfo/cocci (Web access from inside DIKUs LAN only)
