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>
This commit is contained in:
Jeff King
2025-01-09 03:49:44 -05:00
committed by Junio C Hamano
parent 8c53354658
commit b20d7d348c

View File

@ -124,32 +124,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 * new path should be added to combine diff
* *
@ -206,7 +180,10 @@ static struct combine_diff_path *emit_path(struct combine_diff_path *p,
struct combine_diff_path *pprev = p; struct combine_diff_path *pprev = p;
strbuf_add(base, path, pathlen); 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); strbuf_setlen(base, old_baselen);
for (i = 0; i < nparent; ++i) { for (i = 0; i < nparent; ++i) {