Hello list,
during development of an analysis/simulation software for a customer
we ran into a nasty bug in Indiana ksh. We would appreciate any help,
this is currently a development blocker because our software prototype
should be implemented in a scripting language and Solaris perl lacks
sufficient floating point resolution.
Reproducible: Always
Steps to Reproduce:
Run ksh -c 'integer -a z=( [1]=90 ) ; function x { nameref nz=$1 ;
print " $((log10(nz)))==$((log10($nz)))" ; } ; x z[1]'
Actual Results:
The shell will print:
-inf==1.95424250943932487459005580651023
Expected Results:
The shell should print identical values
1.95424250943932487459005580651023==1.95424250943932487459005580651023
Evaluation:
This bug only happens if the value in the array is accessed via a
nameref variable, the array index is greater than 0 and nz is not
dereferenced as string like in the second call to log10().
Nicolas
--
Nicholas George
MBDA System Integration (home office)
_______________________________________________
indiana-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/indiana-discuss