Skip to content

Commit 2e5ad07

Browse files
committed
show mismatch line
1 parent 27a888f commit 2e5ad07

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

fixdiff.c

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -316,8 +316,8 @@ fixdiff_stanza_start(dp_t *pdp, char *sh, size_t len)
316316
static int
317317
fixdiff_find_original(dp_t *pdp, int *line_start)
318318
{
319+
char in_src[4096], in_temp[4096], b1[256], b2[256], hit = 0;
319320
int ret = 1, mc = 0, lmc = 0, lis = 0, lg_lis = 0;
320-
char in_src[4096], in_temp[4096], hit = 0;
321321
lbuf_t lb_temp, lb_src, lb;
322322
size_t lt, ls;
323323

@@ -327,6 +327,8 @@ fixdiff_find_original(dp_t *pdp, int *line_start)
327327
*/
328328

329329
lb_src.fd = lb.fd = -1;
330+
b1[0] = '\0';
331+
b2[0] = '\0';
330332

331333
init_lbuf(&lb_temp, "temp");
332334
lb_temp.fd = open(pdp->temp, OFLAGS(O_RDWR));
@@ -402,6 +404,7 @@ fixdiff_find_original(dp_t *pdp, int *line_start)
402404
if (!ls) {
403405
elog("failed to match, best chunk %d lines at %s:%d\n",
404406
lmc, pdp->pf, lg_lis);
407+
elog("patch: '%s', source '%s'\n", b1, b2);
405408
mc = 0;
406409
break;
407410
}
@@ -415,6 +418,10 @@ fixdiff_find_original(dp_t *pdp, int *line_start)
415418

416419
mc++;
417420
if (mc > lmc) {
421+
strncpy(b1, in_temp + 1, sizeof(b1) - 1);
422+
b1[sizeof(b1) - 1] = '\0';
423+
strncpy(b2, in_src + 1, sizeof(b2) - 1);
424+
b2[sizeof(b2) - 1] = '\0';
418425
lmc++;
419426
lg_lis = lis;
420427
}

0 commit comments

Comments
 (0)