summaryrefslogtreecommitdiff
path: root/pp_hot.c
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2007-12-29 19:32:52 +0000
committerNicholas Clark <nick@ccl4.org>2007-12-29 19:32:52 +0000
commit0d3c21b03f6bad2977f965669c308bd429cf00bf (patch)
treef603e93ca4645ee588a0d3e04436aefeb531a791 /pp_hot.c
parent156d2b4303bd9581fb8f5aea70c69ed9320944c4 (diff)
downloadperl-0d3c21b03f6bad2977f965669c308bd429cf00bf.tar.gz
Move all code that relies on reading the to-be-thrown-away buffer ahead
of the call to sv_chop() that throws it away. p4raw-id: //depot/perl@32777
Diffstat (limited to 'pp_hot.c')
-rw-r--r--pp_hot.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/pp_hot.c b/pp_hot.c
index f987357bf8..c6b5c5c097 100644
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -2197,10 +2197,8 @@ PP(pp_subst)
else if ((i = m - s)) { /* faster from front */
d -= clen;
m = d;
+ Move(s, d - i, i, char);
sv_chop(TARG, d-i);
- s += i;
- while (i--)
- *--d = *--s;
if (clen)
Copy(c, m, clen, char);
}