@@ -316,8 +316,8 @@ fixdiff_stanza_start(dp_t *pdp, char *sh, size_t len)
316316static int
317317fixdiff_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