summaryrefslogtreecommitdiff
path: root/contrib/coccinelle/strbuf.cocci
diff options
context:
space:
mode:
authorRené Scharfe <l.s.r@web.de>2017-02-25 16:00:33 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-02-27 19:02:06 (GMT)
commit33ad9ddd0b5398063f0aabea639b5fe569f458ea (patch)
tree9dcbafba9ded540f034e2697bf47198f4f217036 /contrib/coccinelle/strbuf.cocci
parent3f64699ffde6cd2152db2106505a2310601a207f (diff)
downloadgit-33ad9ddd0b5398063f0aabea639b5fe569f458ea.zip
git-33ad9ddd0b5398063f0aabea639b5fe569f458ea.tar.gz
git-33ad9ddd0b5398063f0aabea639b5fe569f458ea.tar.bz2
strbuf: add strbuf_add_real_path()
Add a function for appending the canonized absolute pathname of a given path to a strbuf. It keeps the existing contents intact, as expected of a function of the strbuf_add() family, while avoiding copying the result if the given strbuf is empty. It's more consistent with the rest of the strbuf API than strbuf_realpath(), which it's wrapping. Also add a semantic patch demonstrating its intended usage and apply it to the current tree. Using strbuf_add_real_path() instead of calling strbuf_addstr() and real_path() avoids an extra copy to a static buffer. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'contrib/coccinelle/strbuf.cocci')
-rw-r--r--contrib/coccinelle/strbuf.cocci6
1 files changed, 6 insertions, 0 deletions
diff --git a/contrib/coccinelle/strbuf.cocci b/contrib/coccinelle/strbuf.cocci
index 63995f2..1d580e4 100644
--- a/contrib/coccinelle/strbuf.cocci
+++ b/contrib/coccinelle/strbuf.cocci
@@ -38,3 +38,9 @@ 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);