>>The whole array is passed in this case because the DO command passes parameters by reference (unless they are enclosed in the parenthesises).
>
>Yes. You're right. I just read that in the help. However, that's not obvious from the code. There really was no need to pass the array at all. Other code buried 3 and 4 levels deep are accessing other arrays without passing them.
If the UDF in question calles some other subroutines that use array directly, than I would fix the code. Otherwise I don't see any harm in leaving it as is, but documenting it.
--sb--