summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
0395280)
its mainly just a temporary local var; declare it individually within each
scope that makes use of it.
PMOP *rpm = pm;
char *s;
char *strend;
PMOP *rpm = pm;
char *s;
char *strend;
const char *c;
STRLEN clen;
I32 iters = 0;
const char *c;
STRLEN clen;
I32 iters = 0;
if (RX_MATCH_TAINTED(rx)) /* run time pattern taint, eg locale */
rxtainted |= SUBST_TAINT_PAT;
m = orig + RX_OFFS(rx)[0].start;
if (RX_MATCH_TAINTED(rx)) /* run time pattern taint, eg locale */
rxtainted |= SUBST_TAINT_PAT;
m = orig + RX_OFFS(rx)[0].start;
PUSHs(&PL_sv_yes);
}
else {
PUSHs(&PL_sv_yes);
}
else {
d = s = RX_OFFS(rx)[0].start + orig;
do {
if (iters++ > maxiters)
d = s = RX_OFFS(rx)[0].start + orig;
do {
if (iters++ > maxiters)
SV *repl;
if (force_on_match) {
/* redo the first match, this time with the orig var
SV *repl;
if (force_on_match) {
/* redo the first match, this time with the orig var
if (RX_MATCH_TAINTED(rx))
rxtainted |= SUBST_TAINT_PAT;
if (RX_MATCH_COPIED(rx) && RX_SUBBEG(rx) != orig) {
if (RX_MATCH_TAINTED(rx))
rxtainted |= SUBST_TAINT_PAT;
if (RX_MATCH_COPIED(rx) && RX_SUBBEG(rx) != orig) {
+ char *old_s = s;
+ char *old_orig = orig;
assert(RX_SUBOFFSET(rx) == 0);
assert(RX_SUBOFFSET(rx) == 0);
- s = orig + (m - s);
- strend = s + (strend - m);
+ s = orig + (old_s - old_orig);
+ strend = s + (strend - old_s);
}
m = RX_OFFS(rx)[0].start + orig;
sv_catpvn_nomg_maybeutf8(dstr, s, m - s, DO_UTF8(TARG));
}
m = RX_OFFS(rx)[0].start + orig;
sv_catpvn_nomg_maybeutf8(dstr, s, m - s, DO_UTF8(TARG));