diff options
author | Jesse Luehrs <doy@tozt.net> | 2011-03-04 13:06:43 -0600 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2011-03-04 13:06:43 -0600 |
commit | 7c3b261c80f79042f3867cd99c5ba096987886bd (patch) | |
tree | 8c1449df7120dde0044a60805d551e687c30b5be /XS.xs | |
parent | 2d077165dd9e3c743f4aec00953d6914655fb462 (diff) | |
download | package-stash-xs-7c3b261c80f79042f3867cd99c5ba096987886bd.tar.gz package-stash-xs-7c3b261c80f79042f3867cd99c5ba096987886bd.zip |
disable caching of the namespace on 5.8
Diffstat (limited to 'XS.xs')
-rw-r--r-- | XS.xs | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -385,16 +385,21 @@ namespace(self) SV *self PREINIT: HE *slot; + SV *package_name; CODE: if (!sv_isobject(self)) croak("Can't call namespace as a class method"); +#if PERL_VERSION < 10 + package_name = _get_name(self); + RETVAL = newRV_inc((SV*)gv_stashpv(SvPV_nolen(package_name), GV_ADD)); +#else slot = hv_fetch_ent((HV*)SvRV(self), namespace_key, 0, namespace_hash); if (slot) { RETVAL = SvREFCNT_inc_simple_NN(HeVAL(slot)); } else { HV *namespace; - SV *nsref, *package_name; + SV *nsref; package_name = _get_name(self); namespace = gv_stashpv(SvPV_nolen(package_name), GV_ADD); @@ -407,6 +412,7 @@ namespace(self) } RETVAL = SvREFCNT_inc_simple_NN(nsref); } +#endif OUTPUT: RETVAL |