aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--coreutils/tr.c2
-rw-r--r--tr.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/coreutils/tr.c b/coreutils/tr.c
index 54b6abc8c..96e2c2b5f 100644
--- a/coreutils/tr.c
+++ b/coreutils/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) {
diff --git a/tr.c b/tr.c
index 54b6abc8c..96e2c2b5f 100644
--- 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) {