Fix overload index mismatch in overloading logic.
authorVincent Pit <perl@profvince.com>
Fri, 2 Jan 2009 11:01:50 +0000 (12:01 +0100)
committerDavid Mitchell <davem@iabyn.com>
Mon, 30 Mar 2009 22:25:10 +0000 (23:25 +0100)
commit1a1cd6c054aa6ea574385f46128a91cfec4996ca
tree2f5319860f1dd0ae0bab1dfc24d339c9cbcad343
parentad5c47f969417705b073bdaca74dbcde7b6a65f5
Fix overload index mismatch in overloading logic.

In amagic_call(), the 'method' arg comes the overload enum in overload.h, but is expected to match the bit set from %overloading::numbers::names. It values wrongly start at 1, differing by 1 from the enum indexes. This didn't appear in the tests because 'method' was reduced modulo 7 instead of 8.

(cherry picked from commit d87d3eede5d67a7d281a1d929949e466e06bc21a)
gv.c
lib/overload/numbers.pm
overload.pl