strbuf_addf() can be used with "%.*s" to add a buffer of a specific size to a strbuf, but the resulting code is longer, may require casting the length to int and is less efficient than simply calling strbuf_add(). Add Coccinelle rules for transforming calls of the former type to the latter. Signed-off-by: Rene Scharfe <l.s.r@xxxxxx> --- contrib/coccinelle/strbuf.cocci | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/contrib/coccinelle/strbuf.cocci b/contrib/coccinelle/strbuf.cocci index 1d580e49b0..700a5f9c13 100644 --- a/contrib/coccinelle/strbuf.cocci +++ b/contrib/coccinelle/strbuf.cocci @@ -44,3 +44,15 @@ expression E1, E2; @@ - strbuf_addstr(E1, real_path(E2)); + strbuf_add_real_path(E1, E2); + +@@ +expression sb, buf, len; +@@ +- strbuf_addf(sb, "%.*s", len, buf) ++ strbuf_add(sb, buf, len) + +@@ +expression sb, buf, len; +@@ +- strbuf_addf(sb, "%.*s", (int)(len), buf) ++ strbuf_add(sb, buf, len) -- 2.14.2