summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar René Scharfe <l.s.r@web.de>2017-01-26 18:54:23 +0100
committerLibravatar Junio C Hamano <gitster@pobox.com>2017-01-27 10:18:15 -0800
commit0aaad415bcbdd7ccdfbb27eafb2f5926540455fa (patch)
treea7a9c1cf3f2211192638a2e56c27435aaec1cc8c
parentabspath: add absolute_pathdup() (diff)
downloadtgif-0aaad415bcbdd7ccdfbb27eafb2f5926540455fa.tar.xz
use absolute_pathdup()
Apply the semantic patch for converting callers that duplicate the result of absolute_path() to call absolute_pathdup() instead, which avoids an extra string copy to a static buffer. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin/clone.c4
-rw-r--r--builtin/submodule--helper.c2
-rw-r--r--worktree.c2
3 files changed, 4 insertions, 4 deletions
diff --git a/builtin/clone.c b/builtin/clone.c
index a35d62293a..e4c1b32574 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -161,7 +161,7 @@ static char *get_repo_path(const char *repo, int *is_bundle)
strbuf_addstr(&path, repo);
raw = get_repo_path_1(&path, is_bundle);
- canon = raw ? xstrdup(absolute_path(raw)) : NULL;
+ canon = raw ? absolute_pathdup(raw) : NULL;
strbuf_release(&path);
return canon;
}
@@ -892,7 +892,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
path = get_repo_path(repo_name, &is_bundle);
if (path)
- repo = xstrdup(absolute_path(repo_name));
+ repo = absolute_pathdup(repo_name);
else if (!strchr(repo_name, ':'))
die(_("repository '%s' does not exist"), repo_name);
else
diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
index dbe5699fe6..c80f113521 100644
--- a/builtin/submodule--helper.c
+++ b/builtin/submodule--helper.c
@@ -515,7 +515,7 @@ static int module_clone(int argc, const char **argv, const char *prefix)
module_clone_options);
strbuf_addf(&sb, "%s/modules/%s", get_git_dir(), name);
- sm_gitdir = xstrdup(absolute_path(sb.buf));
+ sm_gitdir = absolute_pathdup(sb.buf);
strbuf_reset(&sb);
if (!is_absolute_path(path)) {
diff --git a/worktree.c b/worktree.c
index f7869f8d60..8b8097a363 100644
--- a/worktree.c
+++ b/worktree.c
@@ -158,7 +158,7 @@ done:
static void mark_current_worktree(struct worktree **worktrees)
{
- char *git_dir = xstrdup(absolute_path(get_git_dir()));
+ char *git_dir = absolute_pathdup(get_git_dir());
int i;
for (i = 0; worktrees[i]; i++) {