Wendy Lin
2013-07-14 22:18:15 UTC
ksh93 returns the wrong number of elements (${#a[@]}, ${#a[*]}) in an
associative Boolean array:
ksh -c 'typeset -A a=( [2]=true [4]=false ) ; printf "1=%q\n" "${#a[*]}"'
1=2 # OK
ksh -c 'bool -A a=( [2]=true [4]=false ) ; printf "1=%q\n" "${#a[*]}"'
1=4 # WRONG, must be 1=2
This happens with the latest 2013-06-28
ksh --version
version sh (AT&T Research) 93v- 2012-08-26
If you have a patch please share it before the next release. Thank you!
Wendy
associative Boolean array:
ksh -c 'typeset -A a=( [2]=true [4]=false ) ; printf "1=%q\n" "${#a[*]}"'
1=2 # OK
ksh -c 'bool -A a=( [2]=true [4]=false ) ; printf "1=%q\n" "${#a[*]}"'
1=4 # WRONG, must be 1=2
This happens with the latest 2013-06-28
ksh --version
version sh (AT&T Research) 93v- 2012-08-26
If you have a patch please share it before the next release. Thank you!
Wendy