diff options
| author | Peter Wemm <peter@FreeBSD.org> | 2018-05-08 03:44:38 +0000 | 
|---|---|---|
| committer | Peter Wemm <peter@FreeBSD.org> | 2018-05-08 03:44:38 +0000 | 
| commit | 3faf8d6bffc5d0fb2525ba37bb504c53366caf9d (patch) | |
| tree | 7e47911263e75034b767fe34b2f8d3d17e91f66d /subversion/libsvn_diff/diff3.c | |
| parent | a55fb3c0d5eca7d887798125d5b95942b1f01d4b (diff) | |
Notes
Diffstat (limited to 'subversion/libsvn_diff/diff3.c')
| -rw-r--r-- | subversion/libsvn_diff/diff3.c | 27 | 
1 files changed, 15 insertions, 12 deletions
| diff --git a/subversion/libsvn_diff/diff3.c b/subversion/libsvn_diff/diff3.c index 8b7c9b332817..aa247468e5ff 100644 --- a/subversion/libsvn_diff/diff3.c +++ b/subversion/libsvn_diff/diff3.c @@ -29,6 +29,7 @@  #include "svn_pools.h"  #include "svn_error.h"  #include "svn_diff.h" +#include "svn_sorts.h"  #include "svn_types.h"  #include "diff.h" @@ -474,21 +475,23 @@ svn_diff_diff3_2(svn_diff_t **diff,                            - (original_sync - lcs_om->position[0]->offset);          latest_length = lcs_ol->length                          - (original_sync - lcs_ol->position[0]->offset); -        common_length = modified_length < latest_length -                        ? modified_length : latest_length; +        common_length = MIN(modified_length, latest_length); -        (*diff_ref) = apr_palloc(pool, sizeof(**diff_ref)); +        if (common_length > 0) +          { +            (*diff_ref) = apr_palloc(pool, sizeof(**diff_ref)); -        (*diff_ref)->type = svn_diff__type_common; -        (*diff_ref)->original_start = original_sync - 1; -        (*diff_ref)->original_length = common_length; -        (*diff_ref)->modified_start = modified_sync - 1; -        (*diff_ref)->modified_length = common_length; -        (*diff_ref)->latest_start = latest_sync - 1; -        (*diff_ref)->latest_length = common_length; -        (*diff_ref)->resolved_diff = NULL; +            (*diff_ref)->type = svn_diff__type_common; +            (*diff_ref)->original_start = original_sync - 1; +            (*diff_ref)->original_length = common_length; +            (*diff_ref)->modified_start = modified_sync - 1; +            (*diff_ref)->modified_length = common_length; +            (*diff_ref)->latest_start = latest_sync - 1; +            (*diff_ref)->latest_length = common_length; +            (*diff_ref)->resolved_diff = NULL; -        diff_ref = &(*diff_ref)->next; +            diff_ref = &(*diff_ref)->next; +          }          /* Set the new offsets */          original_start = original_sync + common_length; | 
