Skip to content

Commit 875b8ce

Browse files
dschoJunio C Hamano
authored andcommitted
xdl_merge(): fix an off-by-one bug
The line range is i1 .. (i1 + chg1 - 1), not i1 .. (i1 + chg1). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
1 parent c2b4fae commit 875b8ce

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

xdiff/xmerge.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -194,11 +194,11 @@ static int xdl_refine_conflicts(xdfenv_t *xe1, xdfenv_t *xe2, xdmerge_t *m,
194194
* we have a very simple mmfile structure.
195195
*/
196196
t1.ptr = (char *)xe1->xdf2.recs[m->i1]->ptr;
197-
t1.size = xe1->xdf2.recs[m->i1 + m->chg1]->ptr
198-
+ xe1->xdf2.recs[m->i1 + m->chg1]->size - t1.ptr;
199-
t2.ptr = (char *)xe2->xdf2.recs[m->i1]->ptr;
200-
t2.size = xe2->xdf2.recs[m->i1 + m->chg1]->ptr
201-
+ xe2->xdf2.recs[m->i1 + m->chg1]->size - t2.ptr;
197+
t1.size = xe1->xdf2.recs[m->i1 + m->chg1 - 1]->ptr
198+
+ xe1->xdf2.recs[m->i1 + m->chg1 - 1]->size - t1.ptr;
199+
t2.ptr = (char *)xe2->xdf2.recs[m->i2]->ptr;
200+
t2.size = xe2->xdf2.recs[m->i2 + m->chg2 - 1]->ptr
201+
+ xe2->xdf2.recs[m->i2 + m->chg2 - 1]->size - t2.ptr;
202202
if (xdl_do_diff(&t1, &t2, xpp, &xe) < 0)
203203
return -1;
204204
if (xdl_change_compact(&xe.xdf1, &xe.xdf2, xpp->flags) < 0 ||

0 commit comments

Comments
 (0)