Stale SP in pp_substr
Stephen McCamant [Thu, 19 Mar 1998 21:28:02 +0000 (15:28 -0600)]
p4raw-id: //depot/perl@848

pp.c

diff --git a/pp.c b/pp.c
index 249b909..f2a6141 100644 (file)
--- a/pp.c
+++ b/pp.c
@@ -1780,6 +1780,7 @@ PP(pp_substr)
        len = POPi;
     pos = POPi;
     sv = POPs;
+    PUTBACK;
     tmps = SvPV(sv, curlen);
     if (pos >= arybase) {
        pos -= arybase;
@@ -1846,6 +1847,7 @@ PP(pp_substr)
            LvTARGLEN(TARG) = rem;
        }
     }
+    SPAGAIN;
     PUSHs(TARG);               /* avoid SvSETMAGIC here */
     RETURN;
 }