On Thu, Feb 1, 2018 at 7:56 PM, René Scharfe <l....@web.de> wrote: > 353d84c537 (coccicheck: make transformation for strbuf_addf(sb, "...") > more precise) added a check to avoid transforming calls with format > strings which contain percent signs, as that would change the result. > It uses embedded Python code for that. Simplify this rule by using the > regular expression matching operator instead. > > Signed-off-by: Rene Scharfe <l....@web.de> > --- > Inspired by the Coccinelle package in Debian experimental, which lost > support for Python for some reason. Tested only with that version > (1.0.6.deb-3) and Debian testing's 1.0.4.deb-3+b3.
FWIW, it appears to be working fine with Coccinelle version 1.0.0~rc19.deb-3 running on Travis CI. Applied it on top of 'rs/strbuf-cocci-workaround' currently at cd9a4b6d9 (cocci: use format keyword instead of a literal string, 2018-01-19) along with an other patch to show the resulting suggestions in '.../*.cocci.patch' files, and the results look fine: https://travis-ci.org/szeder/git/jobs/336573242#L1466 and are the same as without this patch: https://travis-ci.org/szeder/git/jobs/336257153#L1466 > > contrib/coccinelle/strbuf.cocci | 17 +---------------- > 1 file changed, 1 insertion(+), 16 deletions(-) > > diff --git a/contrib/coccinelle/strbuf.cocci b/contrib/coccinelle/strbuf.cocci > index 6fe8727421..e34eada1ad 100644 > --- a/contrib/coccinelle/strbuf.cocci > +++ b/contrib/coccinelle/strbuf.cocci > @@ -1,21 +1,6 @@ > @ strbuf_addf_with_format_only @ > expression E; > -constant fmt; > -@@ > - strbuf_addf(E, > -( > - fmt > -| > - _(fmt) > -) > - ); > - > -@ script:python @ > -fmt << strbuf_addf_with_format_only.fmt; > -@@ > -cocci.include_match("%" not in fmt) > - > -@ extends strbuf_addf_with_format_only @ > +constant fmt !~ "%"; > @@ > - strbuf_addf > + strbuf_addstr > -- > 2.16.1