aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/diff/diffreg.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/diff/diffreg.c')
-rw-r--r--usr.bin/diff/diffreg.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/usr.bin/diff/diffreg.c b/usr.bin/diff/diffreg.c
index 1450da77df03..47825e1daf46 100644
--- a/usr.bin/diff/diffreg.c
+++ b/usr.bin/diff/diffreg.c
@@ -720,19 +720,22 @@ check(FILE *f1, FILE *f2, int flags)
}
ctold++;
ctnew++;
- if (flags & D_STRIPCR) {
+ if (flags & D_STRIPCR && (c == '\r' || d == '\r')) {
if (c == '\r') {
if ((c = getc(f1)) == '\n') {
- ctnew++;
- break;
+ ctold++;
+ } else {
+ ungetc(c, f1);
}
}
if (d == '\r') {
if ((d = getc(f2)) == '\n') {
- ctold++;
- break;
+ ctnew++;
+ } else {
+ ungetc(d, f2);
}
}
+ break;
}
if ((flags & D_FOLDBLANKS) && isspace(c) &&
isspace(d)) {