void strbuf_git_path(struct strbuf *sb, const char *fmt, ...) { va_list args; va_start(args, fmt); do_git_path(NULL, sb, fmt, args); va_end(args); }
const char *worktree_git_path(const struct worktree *wt, const char *fmt, ...) { struct strbuf *pathname = get_pathname(); va_list args; va_start(args, fmt); do_git_path(wt, pathname, fmt, args); va_end(args); return pathname->buf; }
char *git_pathdup(const char *fmt, ...) { struct strbuf path = STRBUF_INIT; va_list args; va_start(args, fmt); do_git_path(NULL, &path, fmt, args); va_end(args); return strbuf_detach(&path, NULL); }
const char *git_path(const char *fmt, ...) { struct strbuf *pathname = get_pathname(); va_list args; va_start(args, fmt); do_git_path(NULL, pathname, fmt, args); va_end(args); return pathname->buf; }
char *git_path_buf(struct strbuf *buf, const char *fmt, ...) { va_list args; strbuf_reset(buf); va_start(args, fmt); do_git_path(NULL, buf, fmt, args); va_end(args); return buf->buf; }
void strbuf_repo_git_path(struct strbuf *sb, const struct repository *repo, const char *fmt, ...) { va_list args; va_start(args, fmt); do_git_path(repo, NULL, sb, fmt, args); va_end(args); }
char *repo_git_path(const struct repository *repo, const char *fmt, ...) { struct strbuf path = STRBUF_INIT; va_list args; va_start(args, fmt); do_git_path(repo, NULL, &path, fmt, args); va_end(args); return strbuf_detach(&path, NULL); }