summaryrefslogtreecommitdiff
path: root/pp_hot.c
diff options
context:
space:
mode:
authorDavid Mitchell <davem@iabyn.com>2011-02-04 17:54:11 +0000
committerDavid Mitchell <davem@iabyn.com>2011-02-06 21:34:43 +0000
commit28b52d6a9d389ca6d1647f2c7db483631b898dc0 (patch)
treeea3c39df1a68103c2aba930855bb4c58fa06a0a4 /pp_hot.c
parentaf050d753c51544ae412e376ac0ddc65045766d5 (diff)
downloadperl-28b52d6a9d389ca6d1647f2c7db483631b898dc0.tar.gz
pp_subst: move a bock of code to to decrease gotos
Diffstat (limited to 'pp_hot.c')
-rw-r--r--pp_hot.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/pp_hot.c b/pp_hot.c
index 34f7770392..494c50f63d 100644
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -2216,8 +2216,13 @@ PP(pp_subst)
doutf8 = FALSE;
}
- if (!matched)
- goto ret_no;
+ if (!matched) {
+ ret_no:
+ SPAGAIN;
+ PUSHs(rpm->op_pmflags & PMf_NONDESTRUCT ? TARG : &PL_sv_no);
+ LEAVE_SCOPE(oldsave);
+ RETURN;
+ }
/* can do inplace substitution? */
if (c
@@ -2410,12 +2415,6 @@ PP(pp_subst)
RETURN;
}
/* NOTREACHED */
-
-ret_no:
- SPAGAIN;
- PUSHs(rpm->op_pmflags & PMf_NONDESTRUCT ? TARG : &PL_sv_no);
- LEAVE_SCOPE(oldsave);
- RETURN;
}
PP(pp_grepwhile)