22184af2cb
A convenient way to pad strings is to use something like
`strbuf_addf(&buf, "%20s", "Hello, world!")`.
However, the Coccinelle rule that forbids a format `"%s"` with a
constant string argument cast too wide a net, and also forbade such
padding.
The original rule was introduced by commit:
28c23cd4c3
(strbuf.cocci: suggest strbuf_addbuf() to add one strbuf to an other, 2019-01-25)
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Teng Long <dyroneteng@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
63 lines
873 B
Plaintext
63 lines
873 B
Plaintext
@ strbuf_addf_with_format_only @
|
|
expression E;
|
|
constant fmt !~ "%";
|
|
@@
|
|
- strbuf_addf
|
|
+ strbuf_addstr
|
|
(E,
|
|
(
|
|
fmt
|
|
|
|
|
_(fmt)
|
|
)
|
|
);
|
|
|
|
@@
|
|
expression E;
|
|
struct strbuf SB;
|
|
format F =~ "^s$";
|
|
@@
|
|
- strbuf_addf(E, "%@F@", SB.buf);
|
|
+ strbuf_addbuf(E, &SB);
|
|
|
|
@@
|
|
expression E;
|
|
struct strbuf *SBP;
|
|
format F =~ "^s$";
|
|
@@
|
|
- strbuf_addf(E, "%@F@", SBP->buf);
|
|
+ strbuf_addbuf(E, SBP);
|
|
|
|
@@
|
|
expression E;
|
|
struct strbuf SB;
|
|
@@
|
|
- strbuf_addstr(E, SB.buf);
|
|
+ strbuf_addbuf(E, &SB);
|
|
|
|
@@
|
|
expression E;
|
|
struct strbuf *SBP;
|
|
@@
|
|
- strbuf_addstr(E, SBP->buf);
|
|
+ strbuf_addbuf(E, SBP);
|
|
|
|
@@
|
|
expression E1, E2;
|
|
format F =~ "^s$";
|
|
@@
|
|
- strbuf_addf(E1, "%@F@", E2);
|
|
+ strbuf_addstr(E1, E2);
|
|
|
|
@@
|
|
expression E1, E2, E3;
|
|
@@
|
|
- strbuf_addstr(E1, find_unique_abbrev(E2, E3));
|
|
+ strbuf_add_unique_abbrev(E1, E2, E3);
|
|
|
|
@@
|
|
expression E1, E2;
|
|
@@
|
|
- strbuf_addstr(E1, real_path(E2));
|
|
+ strbuf_add_real_path(E1, E2);
|