threads / patch / 12700

patcht6000lib: re-fix tr portability

Subject: [PATCH] t6000lib: re-fix tr portability

## tl;dr

One message between Mar 15, 2008 and Mar 15, 2008. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Jeff King· Mar 15, 2008, 00:32 UTC · lore

It seems that some implementations of tr don't like a replacement string of '-----...'; they try to find the double-dash option "---...".

Instead of this pipeline of tr and sed invocations, just use a single perl invocation.

Signed-off-by: Jeff King <peff@peff.net>
---
I didn't see any complaints about increasing the use of perl in earlier
patches, so hopefully nobody minds. I think this is more portable, more
readable, and probably more efficient.
 t/t6000lib.sh |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)
Show changes to t/t6000lib.sh +7 −4
diff --git a/t/t6000lib.sh b/t/t6000lib.sh
index b69f7c4..c0baaa5 100755
--- a/t/t6000lib.sh
+++ b/t/t6000lib.sh
@@ -97,10 +97,13 @@ check_output()
 # from front and back.
 name_from_description()
 {
-        tr "'" '-' |
-		tr '~`!@#$%^&*()_+={}[]|\;:"<>,/? ' \
-		   '------------------------------' |
-		tr -s '-' | tr '[A-Z]' '[a-z]' | sed "s/^-*//;s/-*\$//"
+	perl -pe '
+		s/[^A-Za-z0-9.]/-/g;
+		s/-+/-/g;
+		s/-$//;
+		s/^-//;
+		y/A-Z/a-z/;
+	'
 }
 
 
-- 
1.5.4.4.686.g851d

← back to recent threads