handle slowlaris idiotic /usr/xpg4/bin/tr(1)

This commit is contained in:
tg 2008-02-29 11:48:32 +00:00
parent d318187454
commit 3e870cb1a5
3 changed files with 23 additions and 16 deletions

View File

@ -1,5 +1,5 @@
#!/bin/sh #!/bin/sh
# $MirOS: src/bin/mksh/Build.sh,v 1.275 2007/10/25 15:23:08 tg Exp $ # $MirOS: src/bin/mksh/Build.sh,v 1.276 2008/02/29 11:48:31 tg Exp $
#- #-
# Environment used: CC CFLAGS CPPFLAGS LDFLAGS LIBS NOWARN NROFF TARGET_OS # Environment used: CC CFLAGS CPPFLAGS LDFLAGS LIBS NOWARN NROFF TARGET_OS
# CPPFLAGS recognised: MKSH_SMALL MKSH_ASSUME_UTF8 MKSH_NOPWNAM MKSH_NOVI # CPPFLAGS recognised: MKSH_SMALL MKSH_ASSUME_UTF8 MKSH_NOPWNAM MKSH_NOVI
@ -18,6 +18,8 @@ if test -d /usr/xpg4/bin/. >/dev/null 2>&1; then
PATH=/usr/xpg4/bin:$PATH PATH=/usr/xpg4/bin:$PATH
export PATH export PATH
fi fi
tr=/usr/ucb/tr # Solaris: /usr/xpg4/bin/tr fails the rot13 tr command
test -f $tr || tr=tr
if test -n "${ZSH_VERSION+x}" && (emulate sh) >/dev/null 2>&1; then if test -n "${ZSH_VERSION+x}" && (emulate sh) >/dev/null 2>&1; then
emulate sh emulate sh
@ -45,7 +47,7 @@ if test -t 1; then
fi fi
upper() { upper() {
echo :"$@" | sed 's/^://' | tr $alll $allu echo :"$@" | sed 's/^://' | $tr $alll $allu
} }
# clean up after ac_testrun() # clean up after ac_testrun()
@ -174,7 +176,7 @@ ac_header() {
na=0 na=0
fi fi
hf=$1; shift hf=$1; shift
hv=`echo "$hf" | tr -d '\012\015' | tr -c $alll$allu$alln $alls` hv=`echo "$hf" | $tr -d '\012\015' | $tr -c $alll$allu$alln $alls`
for i for i
do do
echo "#include <$i>" >>x echo "#include <$i>" >>x
@ -382,7 +384,7 @@ cat >scn.c <<-'EOF'
#endif #endif
EOF EOF
ct=unknown ct=unknown
eval 'v "$CPP scn.c | grep ct= | tr -d \\\\015 >x" 2>&'$h | sed 's/^/] /' eval 'v "$CPP scn.c | grep ct= | $tr -d \\\\015 >x" 2>&'$h | sed 's/^/] /'
test 1 = $h && sed 's/^/[ /' x test 1 = $h && sed 's/^/[ /' x
eval `cat x` eval `cat x`
rm -f x rm -f x
@ -483,7 +485,7 @@ NOWARN=$save_NOWARN
# #
# Compiler: extra flags (-O2 -f* -W* etc.) # Compiler: extra flags (-O2 -f* -W* etc.)
# #
i=`echo :"$orig_CFLAGS" | sed 's/^://' | tr -c -d $alll$allu$alln` i=`echo :"$orig_CFLAGS" | sed 's/^://' | $tr -c -d $alll$allu$alln`
# optimisation: only if orig_CFLAGS is empty # optimisation: only if orig_CFLAGS is empty
test x"$i" = x"" && if test $ct = sunpro; then test x"$i" = x"" && if test $ct = sunpro; then
cat >x <<-'EOF' cat >x <<-'EOF'
@ -991,6 +993,7 @@ case $curdir in
*\ *) echo "#!./mksh" >test.sh ;; *\ *) echo "#!./mksh" >test.sh ;;
*) echo "#!$curdir/mksh" >test.sh ;; *) echo "#!$curdir/mksh" >test.sh ;;
esac esac
echo "export tr=$tr" >>test.sh
echo "export PATH='$PATH'" >>test.sh echo "export PATH='$PATH'" >>test.sh
echo "exec perl '$srcdir/check.pl' -s '$srcdir/check.t'" \ echo "exec perl '$srcdir/check.pl' -s '$srcdir/check.t'" \
"-p '$curdir/mksh' -C $check_categories \$*$tsts" >>test.sh "-p '$curdir/mksh' -C $check_categories \$*$tsts" >>test.sh

18
check.t
View File

@ -1,4 +1,4 @@
# $MirOS: src/bin/mksh/check.t,v 1.149 2008/02/27 12:49:53 tg Exp $ # $MirOS: src/bin/mksh/check.t,v 1.150 2008/02/29 11:48:32 tg Exp $
# $OpenBSD: bksl-nl.t,v 1.2 2001/01/28 23:04:56 niklas Exp $ # $OpenBSD: bksl-nl.t,v 1.2 2001/01/28 23:04:56 niklas Exp $
# $OpenBSD: history.t,v 1.5 2001/01/28 23:04:56 niklas Exp $ # $OpenBSD: history.t,v 1.5 2001/01/28 23:04:56 niklas Exp $
# $OpenBSD: read.t,v 1.3 2003/03/10 03:48:16 david Exp $ # $OpenBSD: read.t,v 1.3 2003/03/10 03:48:16 david Exp $
@ -1292,12 +1292,12 @@ description:
stdin: stdin:
bar="bar bar="bar
baz" baz"
tr '[A-Za-z]' '[N-ZA-Mn-za-m]' <<<foo $tr '[A-Za-z]' '[N-ZA-Mn-za-m]' <<<foo
$0 -c "tr '[A-Za-z]' '[N-ZA-Mn-za-m]' <<<foo" $0 -c "$tr '[A-Za-z]' '[N-ZA-Mn-za-m]' <<<foo"
tr '[A-Za-z]' '[N-ZA-Mn-za-m]' <<<"$bar" $tr '[A-Za-z]' '[N-ZA-Mn-za-m]' <<<"$bar"
tr '[A-Za-z]' '[N-ZA-Mn-za-m]' <<<'$bar' $tr '[A-Za-z]' '[N-ZA-Mn-za-m]' <<<'$bar'
tr '[A-Za-z]' '[N-ZA-Mn-za-m]' <<<\$bar $tr '[A-Za-z]' '[N-ZA-Mn-za-m]' <<<\$bar
tr '[A-Za-z]' '[N-ZA-Mn-za-m]' <<<-foo $tr '[A-Za-z]' '[N-ZA-Mn-za-m]' <<<-foo
expected-stdout: expected-stdout:
sbb sbb
sbb sbb
@ -1314,7 +1314,7 @@ stdin:
fnord=42 fnord=42
bar="bar bar="bar
\$fnord baz" \$fnord baz"
tr '[A-Za-z]' '[N-ZA-Mn-za-m]' <<<$bar $tr '[A-Za-z]' '[N-ZA-Mn-za-m]' <<<$bar
expected-stdout: expected-stdout:
one $sabeq onm one $sabeq onm
category: bash category: bash
@ -1326,7 +1326,7 @@ stdin:
fnord=42 fnord=42
bar="bar bar="bar
\$fnord baz" \$fnord baz"
tr '[A-Za-z]' '[N-ZA-Mn-za-m]' <<<$bar $tr '[A-Za-z]' '[N-ZA-Mn-za-m]' <<<$bar
expected-stdout: expected-stdout:
one one
$sabeq onm $sabeq onm

View File

@ -1,4 +1,4 @@
# $MirOS: src/bin/mksh/dot.mkshrc,v 1.24 2007/10/25 14:54:00 tg Exp $ # $MirOS: src/bin/mksh/dot.mkshrc,v 1.25 2008/02/29 11:48:32 tg Exp $
#- #-
# Copyright (c) 2007 # Copyright (c) 2007
# Thorsten Glaser <tg@mirbsd.de> # Thorsten Glaser <tg@mirbsd.de>
@ -52,7 +52,11 @@ alias la='l -a'
alias ll='l -l' alias ll='l -l'
alias lo='la -lo' alias lo='la -lo'
alias which='whence -p' alias which='whence -p'
whence -p rot13 >&- || alias rot13='tr [A-Za-z] [N-ZA-Mn-za-m]' whence -p rot13 >&- || if [[ -x /usr/ucb/tr ]]; then
alias rot13="/usr/ucb/tr '[A-Za-z]' '[N-ZA-Mn-za-m]'"
else
alias rot13="tr '[A-Za-z]' '[N-ZA-Mn-za-m]'"
fi
whence -p hd >&- || function hd { whence -p hd >&- || function hd {
hexdump -e '"%08.8_ax " 8/1 "%02X " " - " 8/1 "%02X "' \ hexdump -e '"%08.8_ax " 8/1 "%02X " " - " 8/1 "%02X "' \
-e '" |" "%_p"' -e '"|\n"' "$@" -e '" |" "%_p"' -e '"|\n"' "$@"