mirror of
https://github.com/git/git
synced 2024-08-28 12:09:19 +00:00
![René Scharfe](/assets/img/avatar_default.png)
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>
48 lines
625 B
Plaintext
48 lines
625 B
Plaintext
@ 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 @
|
|
@@
|
|
- strbuf_addf
|
|
+ strbuf_addstr
|
|
(E,
|
|
(
|
|
fmt
|
|
|
|
|
_(fmt)
|
|
)
|
|
);
|
|
|
|
@@
|
|
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);
|