X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=scope.c;h=6a862a42367c84a66f885dc8ecb99e3e39712ba0;hb=49657794b700c5b56b92eaf38a24c952564ee7db;hp=7e2b129b04d47c8765c4c9707294662cc928449c;hpb=0cbee0a449cc4e11ef8db851c20b026c8f9ff45e;p=p5sagit%2Fp5-mst-13.2.git diff --git a/scope.c b/scope.c index 7e2b129..6a862a4 100644 --- a/scope.c +++ b/scope.c @@ -46,7 +46,7 @@ PERL_SI * Perl_new_stackinfo(pTHX_ I32 stitems, I32 cxitems) { PERL_SI *si; - New(56, si, 1, PERL_SI); + Newx(si, 1, PERL_SI); si->si_stack = newAV(); AvREAL_off(si->si_stack); av_extend(si->si_stack, stitems > 0 ? stitems-1 : 0); @@ -57,7 +57,7 @@ Perl_new_stackinfo(pTHX_ I32 stitems, I32 cxitems) si->si_cxmax = cxitems - 1; si->si_cxix = -1; si->si_type = PERLSI_UNDEF; - New(56, si->si_cxstack, cxitems, PERL_CONTEXT); + Newx(si->si_cxstack, cxitems, PERL_CONTEXT); /* Without any kind of initialising PUSHSUBST() * in pp_subst() will read uninitialised heap. */ Poison(si->si_cxstack, cxitems, PERL_CONTEXT); @@ -169,8 +169,10 @@ S_save_scalar_at(pTHX_ SV **sptr) SV * Perl_save_scalar(pTHX_ GV *gv) { - SV **sptr = &GvSV(gv); + SV ** const sptr = &GvSV(gv); + PL_localizing = 1; SvGETMAGIC(*sptr); + PL_localizing = 0; SSCHECK(3); SSPUSHPTR(SvREFCNT_inc(gv)); SSPUSHPTR(SvREFCNT_inc(*sptr)); @@ -252,7 +254,7 @@ Perl_save_gp(pTHX_ GV *gv, I32 empty) if (empty) { register GP *gp; - Newz(602, gp, 1, GP); + Newxz(gp, 1, GP); if (GvCVu(gv)) PL_sub_generation++; /* taking a method out of circulation */ @@ -430,7 +432,7 @@ SV ** Perl_save_threadsv(pTHX_ PADOFFSET i) { Perl_croak(aTHX_ "panic: save_threadsv called in non-threaded perl"); - (void)i; + PERL_UNUSED_ARG(i); NORETURN_FUNCTION_END; } @@ -621,7 +623,7 @@ Perl_leave_scope(pTHX_ I32 base) register GV *gv; register AV *av; register HV *hv; - register void* ptr; + void* ptr; register char* str; I32 i; @@ -674,7 +676,7 @@ Perl_leave_scope(pTHX_ I32 base) case SAVEt_SVREF: /* scalar reference */ value = (SV*)SSPOPPTR; ptr = SSPOPPTR; - av = Nullav; /* what to refcnt_dec */ + av = NULL; /* what to refcnt_dec */ restore_sv: sv = *(SV**)ptr; DEBUG_S(PerlIO_printf(Perl_debug_log, @@ -781,7 +783,7 @@ Perl_leave_scope(pTHX_ I32 base) ptr = SSPOPPTR; gv = (GV*)SSPOPPTR; if (SvPVX_const(gv) && SvLEN(gv) > 0) { - Safefree(SvPVX_const(gv)); + Safefree(SvPVX_mutable(gv)); } SvPV_set(gv, (char *)SSPOPPTR); SvCUR_set(gv, (STRLEN)SSPOPIV); @@ -961,8 +963,8 @@ Perl_leave_scope(pTHX_ I32 base) case SAVEt_SAVESWITCHSTACK: { dSP; - AV* t = (AV*)SSPOPPTR; - AV* f = (AV*)SSPOPPTR; + AV* const t = (AV*)SSPOPPTR; + AV* const f = (AV*)SSPOPPTR; SWITCHSTACK(t,f); PL_curstackinfo->si_stack = f; } @@ -1089,6 +1091,8 @@ Perl_cx_dump(pTHX_ PERL_CONTEXT *cx) PTR2UV(cx->sb_rxres)); break; } +#else + PERL_UNUSED_ARG(cx); #endif /* DEBUGGING */ }