summaryrefslogtreecommitdiff
path: root/op.c
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2008-01-10 23:54:22 +0000
committerNicholas Clark <nick@ccl4.org>2008-01-10 23:54:22 +0000
commit5c9f9c9cf9d963a25623abdc755b7d47402b5e74 (patch)
treefe7c9a932060a3ba9cfc24863fa22734cc455a21 /op.c
parent110f3028c15a78b9155d8d56077236a8a2a126d0 (diff)
downloadperl-5c9f9c9cf9d963a25623abdc755b7d47402b5e74.tar.gz
Real regexps are stored via RVs, IVs can only mean spare slots. Hence
it's safe to make the scalar undefined, rather than calling out to write a 0 that would also be interpreted as a NULL pointer. p4raw-id: //depot/perl@32943
Diffstat (limited to 'op.c')
-rw-r--r--op.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/op.c b/op.c
index 34eb2e646a..9410bf0d37 100644
--- a/op.c
+++ b/op.c
@@ -3370,7 +3370,7 @@ Perl_newPMOP(pTHX_ I32 type, I32 flags)
SV * const repointer = av_pop((AV*)PL_regex_pad[0]);
const IV offset = SvIV(repointer);
pmop->op_pmoffset = offset;
- sv_setiv(repointer,0);
+ SvOK_off(repointer);
assert(repointer == PL_regex_pad[offset]);
/* One reference remains, in PL_regex_pad[offset] */
SvREFCNT_dec(repointer);