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

Reply via email to