From 0aaad415bcbdd7ccdfbb27eafb2f5926540455fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Scharfe?= Date: Thu, 26 Jan 2017 18:54:23 +0100 Subject: 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 Signed-off-by: Junio C Hamano --- builtin/clone.c | 4 ++-- builtin/submodule--helper.c | 2 +- worktree.c | 2 +- 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++) { -- cgit v1.2.1