use [[ -o … ]] instead of [[ $- = *U* ]] manipulation

This commit is contained in:
tg 2009-12-12 22:27:14 +00:00
parent 769e222586
commit 01823e0e11

View File

@ -1,5 +1,5 @@
# $Id$ # $Id$
# $MirOS: src/bin/mksh/dot.mkshrc,v 1.51 2009/11/03 17:58:44 tg Exp $ # $MirOS: src/bin/mksh/dot.mkshrc,v 1.52 2009/12/12 22:27:14 tg Exp $
#- #-
# Copyright (c) 2002, 2003, 2004, 2006, 2007, 2008, 2009 # Copyright (c) 2002, 2003, 2004, 2006, 2007, 2008, 2009
# Thorsten Glaser <tg@mirbsd.org> # Thorsten Glaser <tg@mirbsd.org>
@ -204,7 +204,7 @@ function pushd {
# base64 encoder (not NUL safe) and decoder (NUL safe), RFC compliant # base64 encoder (not NUL safe) and decoder (NUL safe), RFC compliant
function Lb64decode { function Lb64decode {
typeset u=$- [[ -o utf8-mode ]]; typeset u=$?
set +U set +U
typeset c s="$*" t= typeset c s="$*" t=
[[ -n $s ]] || { s=$(cat;print x); s=${s%x}; } [[ -n $s ]] || { s=$(cat;print x); s=${s%x}; }
@ -234,14 +234,13 @@ function Lb64decode {
t=$t\\x${o#16#} t=$t\\x${o#16#}
done done
print -n $t print -n $t
[[ $u = *U* ]] && set -U (( u )) || set -U
:
} }
set -A Lb64encode_code -- A B C D E F G H I J K L M N O P Q R S T U V W X Y Z \ set -A Lb64encode_code -- A B C D E F G H I J K L M N O P Q R S T U V W X Y Z \
a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 + / a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 + /
function Lb64encode { function Lb64encode {
typeset u=$- [[ -o utf8-mode ]]; typeset u=$?
set +U set +U
typeset c s="$*" t typeset c s="$*" t
[[ -n $s ]] || { s=$(cat;print x); s=${s%x}; } [[ -n $s ]] || { s=$(cat;print x); s=${s%x}; }
@ -270,14 +269,13 @@ function Lb64encode {
t= t=
fi fi
done done
[[ $u = *U* ]] && set -U (( u )) || set -U
:
} }
# DJB cdb hash (not via stdio, for speed) # DJB cdb hash (not via stdio, for speed)
typeset -Z11 -Uui16 Lcdbhash_result typeset -Z11 -Uui16 Lcdbhash_result
function Lcdbhash_add { function Lcdbhash_add {
typeset u=$- [[ -o utf8-mode ]]; typeset u=$?
set +U set +U
typeset s="$*" typeset s="$*"
[[ -n $s ]] || { s=$(cat;print x); s=${s%x}; } [[ -n $s ]] || { s=$(cat;print x); s=${s%x}; }
@ -287,8 +285,7 @@ function Lcdbhash_add {
((# Lcdbhash_result = (Lcdbhash_result * 33) ^ 1#${s:(i++):1} )) ((# Lcdbhash_result = (Lcdbhash_result * 33) ^ 1#${s:(i++):1} ))
done done
[[ $u = *U* ]] && set -U (( u )) || set -U
:
} }
function Lcdbhash { function Lcdbhash {
Lcdbhash_result=5381 Lcdbhash_result=5381
@ -299,7 +296,7 @@ function Lcdbhash {
# Jenkins one-at-a-time hash (not via stdio, for speed) # Jenkins one-at-a-time hash (not via stdio, for speed)
typeset -Z11 -Uui16 Loaathash_result typeset -Z11 -Uui16 Loaathash_result
function Loaathash_add { function Loaathash_add {
typeset u=$- [[ -o utf8-mode ]]; typeset u=$?
set +U set +U
typeset s="$*" typeset s="$*"
[[ -n $s ]] || { s=$(cat;print x); s=${s%x}; } [[ -n $s ]] || { s=$(cat;print x); s=${s%x}; }
@ -311,8 +308,7 @@ function Loaathash_add {
((# Loaathash_result ^= Loaathash_result >> 6 )) ((# Loaathash_result ^= Loaathash_result >> 6 ))
done done
[[ $u = *U* ]] && set -U (( u )) || set -U
:
} }
function Loaathash { function Loaathash {
Loaathash_result=0 # hmm... Loaathash_result=0 # hmm...