if (!SvPOK(package_name))
croak("The constructor argument must be the name of a package");
- instance = newHV();
+ instance = (HV*)sv_2mortal((SV*)newHV());
- hv_store(instance, "name", 4, package_name, 0);
+ hv_store(instance, "name", 4, SvREFCNT_inc(package_name), 0);
namespace = gv_stashpv(SvPV_nolen(package_name), GV_ADD);
- hv_store(instance, "namespace", 9, newRV_noinc((SV*)namespace), 0);
+ hv_store(instance, "namespace", 9, newRV_inc((SV*)namespace), 0);
RETVAL = sv_bless(newRV_inc((SV*)instance), gv_stashpv(class, 0));
OUTPUT: