Skip to content
Snippets Groups Projects
Commit 723b28e1 authored by Mirar (Pontus Hagland)'s avatar Mirar (Pontus Hagland)
Browse files

bugfix in diff3

Rev: lib/modules/Array.pmod:1.13
parent 881ccca7
No related branches found
No related tags found
No related merge requests found
......@@ -197,22 +197,24 @@ array(array(array(mixed))) diff3(array mid,array left,array right)
[lmid,ldst]=diff(mid,left);
[rmid,rdst]=diff(mid,right);
werror(sprintf("%O\n",({rmid,rdst})));
array res=({});
int lpos=0,rpos=0;
int l=0,r=0,n;
array eq=({});
int x;
for (n=0; n<sizeof(mid);)
for (n=0; ;)
{
while (lpos>=sizeof(lmid[l]))
while (l<sizeof(lmid) && lpos>=sizeof(lmid[l]))
{
if (sizeof(ldst[l])>lpos)
res+=({({({}),ldst[l][lpos..],({})})});
l++;
lpos=0;
}
while (rpos>=sizeof(rmid[r]))
while (r<sizeof(rmid) && rpos>=sizeof(rmid[r]))
{
if (sizeof(rdst[r])>rpos)
res+=({({({}),({}),rdst[r][rpos..]})});
......@@ -220,6 +222,8 @@ array(array(array(mixed))) diff3(array mid,array left,array right)
rpos=0;
}
if (n==sizeof(mid)) break;
x=min(sizeof(lmid[l])-lpos,sizeof(rmid[r])-rpos);
if (lmid[l]==ldst[l] && rmid[r]==rdst[r])
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment