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@xxxxxxxxx> Tested-by: SZEDER Gábor <szeder.dev@xxxxxxxxx> Signed-off-by: Rene Scharfe <l.s.r@xxxxxx> --- contrib/coccinelle/strbuf.cocci | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/contrib/coccinelle/strbuf.cocci b/contrib/coccinelle/strbuf.cocci index 1d580e49b0..6fe8727421 100644 --- a/contrib/coccinelle/strbuf.cocci +++ b/contrib/coccinelle/strbuf.cocci @@ -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); @@ -- 2.16.0