Cedric Blancher
2013-08-08 22:42:12 UTC
Can anyone explain why the following code contains FOUR array elements
instead of two? I'm getting desperate with this. I only want to
declare c.car[index].int as a integer variable (aka typeset -li) but
receive this garbage instead when running it with ast-ksh.20130807:
ksh -c 'set -o nounset ; compound c ; compound -a c.car; integer
c.cari=0; trap "typeset -i c.car[c.cari++].int=\${.sh.sig.value.int}"
RTMIN RTMAX ; kill -q4 -s RTMIN $$ ; true ; kill -q17 -s RTMAX $$ ;
true ; print -v c'
(
typeset -C -a car=(
[0]=(
int=4
)
[1]=(
typeset -i int=0
)
[2]=(
int=17
)
[3]=(
typeset -i int=0
)
)
typeset -l -i cari=4
)
Ced
instead of two? I'm getting desperate with this. I only want to
declare c.car[index].int as a integer variable (aka typeset -li) but
receive this garbage instead when running it with ast-ksh.20130807:
ksh -c 'set -o nounset ; compound c ; compound -a c.car; integer
c.cari=0; trap "typeset -i c.car[c.cari++].int=\${.sh.sig.value.int}"
RTMIN RTMAX ; kill -q4 -s RTMIN $$ ; true ; kill -q17 -s RTMAX $$ ;
true ; print -v c'
(
typeset -C -a car=(
[0]=(
int=4
)
[1]=(
typeset -i int=0
)
[2]=(
int=17
)
[3]=(
typeset -i int=0
)
)
typeset -l -i cari=4
)
Ced
--
Cedric Blancher <cedric.blancher at gmail.com>
Institute Pasteur
Cedric Blancher <cedric.blancher at gmail.com>
Institute Pasteur