X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=merge-tree.c;h=7d4f628444058d80e798e141285d558fb7104c5b;hb=d1637a07f684acd80007723f94c4da9649d85525;hp=b2867ba7226ea6ff69876f8f20da87d200fe5fca;hpb=7f09ac4714214d1dc12877cc98fb69cdee22e33e;p=git.git diff --git a/merge-tree.c b/merge-tree.c index b2867ba72..7d4f62844 100644 --- a/merge-tree.c +++ b/merge-tree.c @@ -106,8 +106,8 @@ static void show_diff(struct merge_list *entry) xdemitcb_t ecb; xpp.flags = XDF_NEED_MINIMAL; + memset(&xecfg, 0, sizeof(xecfg)); xecfg.ctxlen = 3; - xecfg.flags = 0; ecb.outf = show_outf; ecb.priv = NULL; @@ -188,7 +188,7 @@ static void resolve(const char *base, struct name_entry *branch1, struct name_en static int unresolved_directory(const char *base, struct name_entry n[3]) { - int baselen; + int baselen, pathlen; char *newbase; struct name_entry *p; struct tree_desc t[3]; @@ -205,10 +205,11 @@ static int unresolved_directory(const char *base, struct name_entry n[3]) if (!S_ISDIR(p->mode)) return 0; baselen = strlen(base); - newbase = xmalloc(baselen + p->pathlen + 2); + pathlen = tree_entry_len(p->path, p->sha1); + newbase = xmalloc(baselen + pathlen + 2); memcpy(newbase, base, baselen); - memcpy(newbase + baselen, p->path, p->pathlen); - memcpy(newbase + baselen + p->pathlen, "/", 2); + memcpy(newbase + baselen, p->path, pathlen); + memcpy(newbase + baselen + pathlen, "/", 2); buf0 = fill_tree_descriptor(t+0, n[0].sha1); buf1 = fill_tree_descriptor(t+1, n[1].sha1);