@@ -55,22 +55,23 @@ static struct diff_rename_dst *locate_rename_dst(struct diff_filespec *two,
5555
5656/* Table of rename/copy src files */
5757static struct diff_rename_src {
58- struct diff_filespec * one ;
58+ struct diff_filepair * p ;
5959 unsigned short score ; /* to remember the break score */
6060} * rename_src ;
6161static int rename_src_nr , rename_src_alloc ;
6262
63- static struct diff_rename_src * register_rename_src (struct diff_filespec * one ,
64- unsigned short score )
63+ static struct diff_rename_src * register_rename_src (struct diff_filepair * p )
6564{
6665 int first , last ;
66+ struct diff_filespec * one = p -> one ;
67+ unsigned short score = p -> score ;
6768
6869 first = 0 ;
6970 last = rename_src_nr ;
7071 while (last > first ) {
7172 int next = (last + first ) >> 1 ;
7273 struct diff_rename_src * src = & (rename_src [next ]);
73- int cmp = strcmp (one -> path , src -> one -> path );
74+ int cmp = strcmp (one -> path , src -> p -> one -> path );
7475 if (!cmp )
7576 return src ;
7677 if (cmp < 0 ) {
@@ -90,7 +91,7 @@ static struct diff_rename_src *register_rename_src(struct diff_filespec *one,
9091 if (first < rename_src_nr )
9192 memmove (rename_src + first + 1 , rename_src + first ,
9293 (rename_src_nr - first - 1 ) * sizeof (* rename_src ));
93- rename_src [first ].one = one ;
94+ rename_src [first ].p = p ;
9495 rename_src [first ].score = score ;
9596 return & (rename_src [first ]);
9697}
@@ -205,7 +206,7 @@ static void record_rename_pair(int dst_index, int src_index, int score)
205206 if (rename_dst [dst_index ].pair )
206207 die ("internal error: dst already matched." );
207208
208- src = rename_src [src_index ].one ;
209+ src = rename_src [src_index ].p -> one ;
209210 src -> rename_used ++ ;
210211 src -> count ++ ;
211212
@@ -389,7 +390,7 @@ static int find_exact_renames(struct diff_options *options)
389390
390391 init_hash (& file_table );
391392 for (i = 0 ; i < rename_src_nr ; i ++ )
392- insert_file_table (& file_table , -1 , i , rename_src [i ].one );
393+ insert_file_table (& file_table , -1 , i , rename_src [i ].p -> one );
393394
394395 for (i = 0 ; i < rename_dst_nr ; i ++ )
395396 insert_file_table (& file_table , 1 , i , rename_dst [i ].two );
@@ -460,7 +461,7 @@ static int find_renames(struct diff_score *mx, int dst_cnt, int minimum_score, i
460461 dst = & rename_dst [mx [i ].dst ];
461462 if (dst -> pair )
462463 continue ; /* already done, either exact or fuzzy. */
463- if (!copies && rename_src [mx [i ].src ].one -> rename_used )
464+ if (!copies && rename_src [mx [i ].src ].p -> one -> rename_used )
464465 continue ;
465466 record_rename_pair (mx [i ].dst , mx [i ].src , mx [i ].score );
466467 count ++ ;
@@ -503,15 +504,15 @@ void diffcore_rename(struct diff_options *options)
503504 */
504505 if (p -> broken_pair && !p -> score )
505506 p -> one -> rename_used ++ ;
506- register_rename_src (p -> one , p -> score );
507+ register_rename_src (p );
507508 }
508509 else if (detect_rename == DIFF_DETECT_COPY ) {
509510 /*
510511 * Increment the "rename_used" score by
511512 * one, to indicate ourselves as a user.
512513 */
513514 p -> one -> rename_used ++ ;
514- register_rename_src (p -> one , p -> score );
515+ register_rename_src (p );
515516 }
516517 }
517518 if (rename_dst_nr == 0 || rename_src_nr == 0 )
@@ -560,7 +561,7 @@ void diffcore_rename(struct diff_options *options)
560561 m [j ].dst = -1 ;
561562
562563 for (j = 0 ; j < rename_src_nr ; j ++ ) {
563- struct diff_filespec * one = rename_src [j ].one ;
564+ struct diff_filespec * one = rename_src [j ].p -> one ;
564565 struct diff_score this_src ;
565566 this_src .score = estimate_similarity (one , two ,
566567 minimum_score );
0 commit comments