Array gets emptied if modified in function
Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=4537
Reported by @zino
Pike 7.7.45 from CVS as of a few hours ago:
% cat bug_array.pike
void fiddle(array a)
{
a += ({ 2 });
}
void main()
{
array a = ({});
fiddle( a );
if(!sizeof(a))
werror("Array is broken: %O\n", a);
else
werror("Array is ok: %O\n", a);
}
% ~/bin/pike77-2/bin/pike bug_array.pike
Array is broken: ({ })
(Initially reported by Tim Johansson, Opera Software)