sv_setiv(GvSVn(gv), (IV)(IoFLAGS(GvIOp(PL_defoutgv)) & IOf_FLUSH) != 0);
goto magicalize;
+ case '\010': /* $^H */
+ {
+ HV *const hv = GvHVn(gv);
+ hv_magic(hv, NULL, PERL_MAGIC_hints);
+ }
+ goto magicalize;
+
case '+':
{
AV* const av = GvAVn(gv);
case '\004': /* $^D */
case '\005': /* $^E */
case '\006': /* $^F */
- case '\010': /* $^H */
case '\011': /* $^I, NOT \t in EBCDIC */
case '\016': /* $^N */
case '\017': /* $^O */
return;
}
- if (gp->gp_sv) SvREFCNT_dec(gp->gp_sv);
- if (gp->gp_av) SvREFCNT_dec(gp->gp_av);
+ SvREFCNT_dec(gp->gp_sv);
+ SvREFCNT_dec(gp->gp_av);
/* FIXME - another reference loop GV -> symtab -> GV ?
Somehow gp->gp_hv can end up pointing at freed garbage. */
if (gp->gp_hv && SvTYPE(gp->gp_hv) == SVt_PVHV) {
G_DISCARD);
SvREFCNT_dec(gp->gp_hv);
}
- if (gp->gp_io) SvREFCNT_dec(gp->gp_io);
- if (gp->gp_cv) SvREFCNT_dec(gp->gp_cv);
- if (gp->gp_form) SvREFCNT_dec(gp->gp_form);
+ SvREFCNT_dec(gp->gp_io);
+ SvREFCNT_dec(gp->gp_cv);
+ SvREFCNT_dec(gp->gp_form);
Safefree(gp);
GvGP(gv) = 0;