- Allow xdl_recmatch to recognize and continue processing when
at the end of an incomplete line.
Resolves issue with --ignore-all-space when either side 1 or 2
has 0 trailing spaces and either (or both) are incomplete by
allowing the processing loop to continue when one side has
reached the end and includes a check for being at eof on an
incomplete line.
Signed-off-by: Thell Fowler <redacted>
---
xdiff/xutils.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/xdiff/xutils.c b/xdiff/xutils.c
index c6512a5..e22b4bb 100644
--- a/xdiff/xutils.c
+++ b/xdiff/xutils.c
@@ -191,12 +191,14 @@ int xdl_recmatch(const char *l1, long s1, const char *l2, long s2, long flags)
int i1, i2;
if (flags & XDF_IGNORE_WHITESPACE) {
- for (i1 = i2 = 0; i1 < s1 && i2 < s2; ) {
+ for (i1 = i2 = 0; i1 < s1 || i2 < s2; ) {
if (isspace(l1[i1]))
- while (isspace(l1[i1]) && i1 < s1)
+ while ((isspace(l1[i1]) && i1 < s1)
+ || (i1 + 1 == s1 && l1[s1] != '\n'))
i1++;
if (isspace(l2[i2]))
- while (isspace(l2[i2]) && i2 < s2)
+ while ((isspace(l2[i2]) && i2 < s2)
+ || (i2 + 1 == s2 && l2[s2] != '\n'))
i2++;
if (i1 < s1 && i2 < s2 && l1[i1++] != l2[i2++])
return 0;--
1.6.4.176.g556a4