From: Brandon Williams <bmwill@google.com>
To: "René Scharfe" <l.s.r@web.de>
Cc: Git List <git@vger.kernel.org>, Junio C Hamano <gitster@pobox.com>
Subject: Re: PATCH 1/2] abspath: add absolute_pathdup()
Date: Thu, 26 Jan 2017 10:32:29 -0800 [thread overview]
Message-ID: <20170126183229.GA3626@google.com> (raw)
In-Reply-To: <d94d742d-1247-ac35-c081-7db1f2178d34@web.de>
On 01/26, René Scharfe wrote:
> Add a function that returns a buffer containing the absolute path of its
> argument and a semantic patch for its intended use. It avoids an extra
> string copy to a static buffer.
>
> Signed-off-by: Rene Scharfe <l.s.r@web.de>
> ---
> abspath.c | 7 +++++++
> cache.h | 1 +
> contrib/coccinelle/xstrdup_or_null.cocci | 6 ++++++
> 3 files changed, 14 insertions(+)
>
> diff --git a/abspath.c b/abspath.c
> index fce40fddcc..2f0c26e0e2 100644
> --- a/abspath.c
> +++ b/abspath.c
> @@ -239,6 +239,13 @@ const char *absolute_path(const char *path)
> return sb.buf;
> }
>
> +char *absolute_pathdup(const char *path)
> +{
> + struct strbuf sb = STRBUF_INIT;
> + strbuf_add_absolute_path(&sb, path);
> + return strbuf_detach(&sb, NULL);
> +}
> +
> /*
> * Unlike prefix_path, this should be used if the named file does
> * not have to interact with index entry; i.e. name of a random file
> diff --git a/cache.h b/cache.h
> index 00a029af36..d7b7a8cd7a 100644
> --- a/cache.h
> +++ b/cache.h
> @@ -1069,6 +1069,7 @@ const char *real_path(const char *path);
> const char *real_path_if_valid(const char *path);
> char *real_pathdup(const char *path);
> const char *absolute_path(const char *path);
> +char *absolute_pathdup(const char *path);
> const char *remove_leading_path(const char *in, const char *prefix);
> const char *relative_path(const char *in, const char *prefix, struct strbuf *sb);
> int normalize_path_copy_len(char *dst, const char *src, int *prefix_len);
> diff --git a/contrib/coccinelle/xstrdup_or_null.cocci b/contrib/coccinelle/xstrdup_or_null.cocci
> index 3fceef132b..8e05d1ca4b 100644
> --- a/contrib/coccinelle/xstrdup_or_null.cocci
> +++ b/contrib/coccinelle/xstrdup_or_null.cocci
> @@ -5,3 +5,9 @@ expression V;
> - if (E)
> - V = xstrdup(E);
> + V = xstrdup_or_null(E);
> +
> +@@
> +expression E;
> +@@
> +- xstrdup(absolute_path(E))
> ++ absolute_pathdup(E)
> --
> 2.11.0
>
These two patches look good to me.
--
Brandon Williams
prev parent reply other threads:[~2017-01-26 18:33 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-26 17:47 PATCH 1/2] abspath: add absolute_pathdup() René Scharfe
2017-01-26 17:54 ` [PATCH 2/2] use absolute_pathdup() René Scharfe
2017-01-27 10:21 ` Johannes Schindelin
2017-01-27 15:39 ` René Scharfe
2017-01-27 18:18 ` Junio C Hamano
2017-01-26 18:32 ` Brandon Williams [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170126183229.GA3626@google.com \
--to=bmwill@google.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=l.s.r@web.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).