From f14887c76522b3a5d375351b6aa8432430447f6a Mon Sep 17 00:00:00 2001 From: noneofyourbusiness Date: Sun, 6 Aug 2023 22:50:25 +0200 Subject: [PATCH] tr: fix behavior of cflag when using character classes a simple test case: printf ab3 | tr -c '[:alpha:]' '\n' output should be ab, previously you would find just newlines. Signed-off-by: noneofyourbusiness --- tr.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/tr.c b/tr.c index c5dbe7e..c96dbdd 100644 --- a/tr.c +++ b/tr.c @@ -250,12 +250,10 @@ read: } } if (set1check && set1check(r)) { - if (dflag) { - if (cflag) - goto write; - else - goto read; - } + if (cflag) + goto write; + if (dflag) + goto read; if (set2check) { if (set2check == islowerrune) r = tolowerrune(r);