aboutsummaryrefslogtreecommitdiffstats
path: root/tree-diff.c
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2025-01-09 03:49:44 -0500
committerJunio C Hamano <gitster@pobox.com>2025-01-09 12:24:25 -0800
commitb20d7d348c4d32777cd577c221de529452baca03 (patch)
tree26829f9f538b1254edef38a7fbc2dcde89ed6e40 /tree-diff.c
parenttree-diff: pass whole path string to path_appendnew() (diff)
downloadgit-b20d7d348c4d32777cd577c221de529452baca03.tar.gz
git-b20d7d348c4d32777cd577c221de529452baca03.zip
tree-diff: inline path_appendnew()
Our path_appendnew() has been simplified to the point that it is mostly just implementing combine_diff_path_new(), plus setting the "next" pointer. Since there's only one caller, let's replace it completely with a call to that helper function. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'tree-diff.c')
-rw-r--r--tree-diff.c31
1 files changed, 4 insertions, 27 deletions
diff --git a/tree-diff.c b/tree-diff.c
index d2f8dd14a6..18e5a16716 100644
--- a/tree-diff.c
+++ b/tree-diff.c
@@ -125,32 +125,6 @@ static int emit_diff_first_parent_only(struct diff_options *opt, struct combine_
/*
- * Make a new combine_diff_path from path/mode/sha1
- * and append it to paths list tail.
- */
-static struct combine_diff_path *path_appendnew(struct combine_diff_path *last,
- int nparent, const char *path, size_t len,
- unsigned mode, const struct object_id *oid)
-{
- struct combine_diff_path *p;
- size_t alloclen = combine_diff_path_size(nparent, len);
-
- p = xmalloc(alloclen);
- p->next = NULL;
- last->next = p;
-
- p->path = (char *)&(p->parent[nparent]);
- memcpy(p->path, path, len);
- p->path[len] = 0;
- p->mode = mode;
- oidcpy(&p->oid, oid ? oid : null_oid());
-
- memset(p->parent, 0, sizeof(p->parent[0]) * nparent);
-
- return p;
-}
-
-/*
* new path should be added to combine diff
*
* 3 cases on how/when it should be called and behaves:
@@ -206,7 +180,10 @@ static struct combine_diff_path *emit_path(struct combine_diff_path *p,
struct combine_diff_path *pprev = p;
strbuf_add(base, path, pathlen);
- p = path_appendnew(p, nparent, base->buf, base->len, mode, oid);
+ p = combine_diff_path_new(base->buf, base->len, mode,
+ oid ? oid : null_oid(),
+ nparent);
+ pprev->next = p;
strbuf_setlen(base, old_baselen);
for (i = 0; i < nparent; ++i) {