summaryrefslogtreecommitdiff
path: root/mro.c
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2010-11-24 11:36:36 +0000
committerNicholas Clark <nick@ccl4.org>2010-11-24 11:36:36 +0000
commit15d9236d3878cc5033b0e89e4a2fc65f07146ea5 (patch)
treea4c482005bc6578c19cf64e74da08c1346ac3c5a /mro.c
parent68adb2b0c592afeb71b5a6a4f15af308d54a0db4 (diff)
downloadperl-15d9236d3878cc5033b0e89e4a2fc65f07146ea5.tar.gz
Convert xhv_name in struct xpvhv_aux to be a union of HEK* and HEK**
This avoids a lot of casting. Nothing outside the perl core code is accessing that member directly.
Diffstat (limited to 'mro.c')
-rw-r--r--mro.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/mro.c b/mro.c
index 08320b7748..fd805d6516 100644
--- a/mro.c
+++ b/mro.c
@@ -216,7 +216,7 @@ S_mro_get_linear_isa_dfs(pTHX_ HV *stash, U32 level)
assert(HvAUX(stash));
stashhek
- = HvAUX(stash)->xhv_name && HvENAME_HEK_NN(stash)
+ = HvAUX(stash)->xhv_name_u.xhvnameu_name && HvENAME_HEK_NN(stash)
? HvENAME_HEK_NN(stash)
: HvNAME_HEK(stash);
@@ -744,10 +744,10 @@ Perl_mro_package_moved(pTHX_ HV * const stash, HV * const oldstash,
name_count = HvAUX(GvSTASH(gv))->xhv_name_count;
if (!name_count) {
name_count = 1;
- namep = &HvAUX(GvSTASH(gv))->xhv_name;
+ namep = &HvAUX(GvSTASH(gv))->xhv_name_u.xhvnameu_name;
}
else {
- namep = (HEK **)HvAUX(GvSTASH(gv))->xhv_name;
+ namep = HvAUX(GvSTASH(gv))->xhv_name_u.xhvnameu_names;
if (name_count < 0) ++namep, name_count = -name_count - 1;
}
if (name_count == 1) {