Browse Source

cocci: use format keyword instead of a literal string

There's a rule in strbuf.cocci for converting trivial uses of
strbuf_addf() to strbuf_addstr() in order to simplify the code and
improve performance a bit.  Coccinelle 1.0.0~rc19.deb-3 on Travis CI
lets the "%s" in that rule match format strings like "%d" as well for
some reason, though, leading to invalid proposed patches.

Use the "format" keyword to let Coccinelle parse the format string and
match the conversion specifier with a trivial regular expression
instead.  This works fine with both Coccinelle 1.0.0~rc19.deb-3 and
1.0.4.deb-3+b3 (the current version on Debian testing).

Reported-by: SZEDER Gábor <szeder.dev@gmail.com>
Tested-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
René Scharfe 7 years ago committed by Junio C Hamano
parent
commit
cd9a4b6d93
  1. 3
      contrib/coccinelle/strbuf.cocci

3
contrib/coccinelle/strbuf.cocci

@ -29,8 +29,9 @@ cocci.include_match("%" not in fmt) @@ -29,8 +29,9 @@ cocci.include_match("%" not in fmt)

@@
expression E1, E2;
format F =~ "s";
@@
- strbuf_addf(E1, "%s", E2);
- strbuf_addf(E1, "%@F@", E2);
+ strbuf_addstr(E1, E2);

@@

Loading…
Cancel
Save