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

Reply via email to