From 97ce9ea586582d750af1476db8e7ef03ab698b7a Mon Sep 17 00:00:00 2001 From: FRIGN Date: Wed, 2 Mar 2016 10:08:24 +0100 Subject: [PATCH] Fix -s in tr(1) Forgot that in case there is a second argument given with -s you probably want to have your characters substituted. I changed it so that shortly before "deploying" we check if the "to be written"-Rune is equal to the last Rune, and proceed as needed. --- tr.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/tr.c b/tr.c index b40f0cc..361ac40 100644 --- a/tr.c +++ b/tr.c @@ -218,12 +218,6 @@ read: else goto write; } - if (sflag) { - if (r == lastrune) - goto read; - else - goto write; - } if (cflag) goto write; for (m = 0; m < i; m++) @@ -243,6 +237,8 @@ read: m--; r = set2[m].start + (off1 - off2) / set2[m].quant; + if (sflag && (r == lastrune)) + goto read; goto write; } }