#define dSP register SV **sp = PL_stack_sp
#define djSP dSP
#define dMARK register SV **mark = PL_stack_base + POPMARK
-#define dORIGMARK I32 origmark = mark - PL_stack_base
-#define SETORIGMARK origmark = mark - PL_stack_base
+#define dORIGMARK const I32 origmark = mark - PL_stack_base
#define ORIGMARK (PL_stack_base + origmark)
#define SPAGAIN sp = PL_stack_sp
Pops an SV off the stack.
=for apidoc Amn|char*|POPp
-Pops a string off the stack. Deprecated. New code should provide
-a STRLEN n_a and use POPpx.
+Pops a string off the stack. Deprecated. New code should use POPpx.
=for apidoc Amn|char*|POPpx
Pops a string off the stack.
-Requires a variable STRLEN n_a in scope.
=for apidoc Amn|char*|POPpbytex
Pops a string off the stack which must consist of bytes i.e. characters < 256.
-Requires a variable STRLEN n_a in scope.
=for apidoc Amn|NV|POPn
Pops a double off the stack.
#define POPs (*sp--)
#define POPp (SvPVx(POPs, PL_na)) /* deprecated */
-#define POPpx (SvPVx(POPs, n_a))
-#define POPpbytex (SvPVbytex(POPs, n_a))
+#define POPpx (SvPVx_nolen(POPs))
+#define POPpconstx (SvPVx_nolen_const(POPs))
+#define POPpbytex (SvPVbytex_nolen(POPs))
#define POPn (SvNVx(POPs))
#define POPi ((IV)SvIVx(POPs))
#define POPu ((UV)SvUVx(POPs))
#define TOPm1s (*(sp-1))
#define TOPp1s (*(sp+1))
#define TOPp (SvPV(TOPs, PL_na)) /* deprecated */
-#define TOPpx (SvPV(TOPs, n_a))
+#define TOPpx (SvPV_nolen(TOPs))
#define TOPn (SvNV(TOPs))
#define TOPi ((IV)SvIV(TOPs))
#define TOPu ((UV)SvUV(TOPs))
changed SV* ref to SV* tmpRef */
#define RvDEEPCP(rv) STMT_START { SV* tmpRef=SvRV(rv); \
if (SvREFCNT(tmpRef)>1) { \
- SvRV(rv)=AMG_CALLun(rv,copy); \
+ SvRV_set(rv, AMG_CALLun(rv,copy)); \
SvREFCNT_dec(tmpRef); \
} } STMT_END