- When processing trailing spaces with --ignore-all-space a diff
would be found whenever one side had 0 spaces and either (or both)
sides was an incomplete line. xdl_recmatch should process the
full length of the record instead of assuming both sides have a
terminator.
Signed-off-by: Thell Fowler <redacted>
---
xdiff/xutils.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/xdiff/xutils.c b/xdiff/xutils.c
index c6512a53b08a8c9039614738310aa2786f4fbb1c..1f28f4fb4e0a8fdc6c9aa1904cf0362dd1e7b977 100644
--- a/xdiff/xutils.c
+++ b/xdiff/xutils.c
@@ -191,14 +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++;
if (isspace(l2[i2]))
- while (isspace(l2[i2]) && i2 < s2)
+ while (isspace(l2[i2]) && i2 <= s2)
i2++;
- if (i1 < s1 && i2 < s2 && l1[i1++] != l2[i2++])
+ if (i1 <= s1 && i2 <= s2 && l1[i1++] != l2[i2++])
return 0;
}
return (i1 >= s1 && i2 >= s2);--
1.6.4.172.g5c0d0.dirty