sbase

suckless unix tools
git clone git://git.2f30.org/sbase
Log | Files | Refs | README | LICENSE

commit 97ce9ea586582d750af1476db8e7ef03ab698b7a
parent ea0d16e928c8b48adcb04451fc2cb63312be7b73
Author: FRIGN <dev@frign.de>
Date:   Wed,  2 Mar 2016 10:08:24 +0100

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.

Diffstat:
Mtr.c | 8++------
1 file changed, 2 insertions(+), 6 deletions(-)

diff --git 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; } }