commit 97ce9ea586582d750af1476db8e7ef03ab698b7a
Author:     FRIGN <[email protected]>
AuthorDate: Wed Mar 2 10:08:24 2016 +0100
Commit:     sin <[email protected]>
CommitDate: Wed Mar 2 09:31:11 2016 +0000

    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.

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

Reply via email to