diff options
-rw-r--r-- | coreutils/tr.c | 2 | ||||
-rw-r--r-- | tr.c | 2 |
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() | |||
70 | coded = vector[c]; | 70 | coded = vector[c]; |
71 | if (del_fl && invec[c]) | 71 | if (del_fl && invec[c]) |
72 | continue; | 72 | continue; |
73 | if (sq_fl && last == coded && outvec[coded]) | 73 | if (sq_fl && last == coded && (invec[c] || outvec[coded])) |
74 | continue; | 74 | continue; |
75 | output[out_index++] = last = coded; | 75 | output[out_index++] = last = coded; |
76 | if (out_index == BUFSIZ) { | 76 | if (out_index == BUFSIZ) { |
@@ -70,7 +70,7 @@ static void convert() | |||
70 | coded = vector[c]; | 70 | coded = vector[c]; |
71 | if (del_fl && invec[c]) | 71 | if (del_fl && invec[c]) |
72 | continue; | 72 | continue; |
73 | if (sq_fl && last == coded && outvec[coded]) | 73 | if (sq_fl && last == coded && (invec[c] || outvec[coded])) |
74 | continue; | 74 | continue; |
75 | output[out_index++] = last = coded; | 75 | output[out_index++] = last = coded; |
76 | if (out_index == BUFSIZ) { | 76 | if (out_index == BUFSIZ) { |