summaryrefslogtreecommitdiff
path: root/sv.c
diff options
context:
space:
mode:
authorDave Mitchell <davem@fdisolutions.com>2007-04-14 21:53:17 +0000
committerDave Mitchell <davem@fdisolutions.com>2007-04-14 21:53:17 +0000
commit3f90d08564e6a1d7297ac8c4469eb0266b7d1eab (patch)
treea0f10419f17a8743f1979e6bf4a67286f26aa25b /sv.c
parent26be3db717882c3665b99168897e18fa49bf9400 (diff)
downloadperl-3f90d08564e6a1d7297ac8c4469eb0266b7d1eab.tar.gz
Move PL_comppad nulling from do_clean_all to sv_clear
p4raw-id: //depot/perl@30952
Diffstat (limited to 'sv.c')
-rw-r--r--sv.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sv.c b/sv.c
index 4ce70719dd..43ab8bde85 100644
--- a/sv.c
+++ b/sv.c
@@ -502,10 +502,6 @@ do_clean_all(pTHX_ SV *sv)
dVAR;
DEBUG_D((PerlIO_printf(Perl_debug_log, "Cleaning loops: SV at 0x%"UVxf"\n", PTR2UV(sv)) ));
SvFLAGS(sv) |= SVf_BREAK;
- if (PL_comppad == (AV*)sv) {
- PL_comppad = NULL;
- PL_curpad = NULL;
- }
SvREFCNT_dec(sv);
}
@@ -5124,6 +5120,10 @@ Perl_sv_clear(pTHX_ register SV *sv)
hv_undef((HV*)sv);
break;
case SVt_PVAV:
+ if (PL_comppad == (AV*)sv) {
+ PL_comppad = NULL;
+ PL_curpad = NULL;
+ }
av_undef((AV*)sv);
break;
case SVt_PVLV: