Patch from Matt Kraai to fix 'echo "1 2 3" | tr -s " "'
authorEric Andersen <andersen@codepoet.org>
Wed, 6 Dec 2000 22:53:06 +0000 (22:53 -0000)
committerEric Andersen <andersen@codepoet.org>
Wed, 6 Dec 2000 22:53:06 +0000 (22:53 -0000)
so it properly outputs "1 2 3".

coreutils/tr.c
tr.c

index 54b6abc..96e2c2b 100644 (file)
@@ -70,7 +70,7 @@ static void convert()
                coded = vector[c];
                if (del_fl && invec[c])
                        continue;
-               if (sq_fl && last == coded && outvec[coded])
+               if (sq_fl && last == coded && (invec[c] || outvec[coded]))
                        continue;
                output[out_index++] = last = coded;
                if (out_index == BUFSIZ) {
diff --git a/tr.c b/tr.c
index 54b6abc..96e2c2b 100644 (file)
--- a/tr.c
+++ b/tr.c
@@ -70,7 +70,7 @@ static void convert()
                coded = vector[c];
                if (del_fl && invec[c])
                        continue;
-               if (sq_fl && last == coded && outvec[coded])
+               if (sq_fl && last == coded && (invec[c] || outvec[coded]))
                        continue;
                output[out_index++] = last = coded;
                if (out_index == BUFSIZ) {