diff options
author | Father Chrysostomos <sprout@cpan.org> | 2010-11-21 16:26:04 -0800 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2010-11-22 06:22:53 -0800 |
commit | d7879cf0b3199eb891fd6cdb551e1f6468d6f23d (patch) | |
tree | c96b399abf8e6150b987ed580631b7368bccb318 /proto.h | |
parent | 0724ad8708be1f65187c03974a56fff4ff9b48c8 (diff) | |
download | perl-d7879cf0b3199eb891fd6cdb551e1f6468d6f23d.tar.gz |
mro_package_moved must act on all effective names
See the test case in the commit. It passes in 5.8.x and blead (as of
this commit), but not 5.10-5.13.7.
In every case the name to be passed to mro_gather_and_rename is cre-
ated using an SV, so we might as well pass that instead of extracting
the char array and length from it.
That allows us to pass an AV instead, if there are multiple names to
take into account.
Diffstat (limited to 'proto.h')
-rw-r--r-- | proto.h | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -5684,12 +5684,12 @@ STATIC void S_mro_clean_isarev(pTHX_ HV * const isa, const char * const name, co #define PERL_ARGS_ASSERT_MRO_CLEAN_ISAREV \ assert(isa); assert(name) -STATIC void S_mro_gather_and_rename(pTHX_ HV * const stashes, HV * const seen_stashes, HV *stash, HV *oldstash, const char *name, I32 namlen) +STATIC void S_mro_gather_and_rename(pTHX_ HV * const stashes, HV * const seen_stashes, HV *stash, HV *oldstash, SV *namesv) __attribute__nonnull__(pTHX_1) __attribute__nonnull__(pTHX_2) __attribute__nonnull__(pTHX_5); #define PERL_ARGS_ASSERT_MRO_GATHER_AND_RENAME \ - assert(stashes); assert(seen_stashes); assert(name) + assert(stashes); assert(seen_stashes); assert(namesv) STATIC AV* S_mro_get_linear_isa_dfs(pTHX_ HV* stash, U32 level) __attribute__nonnull__(pTHX_1); |