diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2002-05-28 22:05:55 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2002-05-28 22:05:55 +0000 |
commit | b881518d78374cbb36c0ad56c39aaca9fc97154d (patch) | |
tree | 1a432a18aad7a59a50e59425b898b5bf5f1c6040 /mg.c | |
parent | 4282de365ad3986f7690c8ae5aeb465272208972 (diff) | |
download | perl-b881518d78374cbb36c0ad56c39aaca9fc97154d.tar.gz |
Retract #16820, #16819, #16810, #16669, #16531, #16530, #16501
to restore some level of sanity in the tied scalars can of worms.
p4raw-id: //depot/perl@16845
Diffstat (limited to 'mg.c')
-rw-r--r-- | mg.c | 13 |
1 files changed, 2 insertions, 11 deletions
@@ -359,17 +359,8 @@ Perl_mg_free(pTHX_ SV *sv) else if (mg->mg_len == HEf_SVKEY) SvREFCNT_dec((SV*)mg->mg_ptr); } - if (mg->mg_flags & MGf_REFCOUNTED) { - SV *obj = mg->mg_obj; - if (mg->mg_type == PERL_MAGIC_tiedscalar && SvROK(obj) && - (SvRV(obj) == sv || GvIO(SvRV(obj)) == (IO *) sv)) { - /* We are already free'ing the self-tied thing - so must not SvREFCNT_dec. - */ - SvROK_off(obj); - } else - SvREFCNT_dec(obj); - } + if (mg->mg_flags & MGf_REFCOUNTED) + SvREFCNT_dec(mg->mg_obj); Safefree(mg); } SvMAGIC(sv) = 0; |