summaryrefslogtreecommitdiff
path: root/pp_sys.c
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2011-11-26 18:17:45 -0800
committerFather Chrysostomos <sprout@cpan.org>2011-11-26 19:43:32 -0800
commitdc456155af24d5c772439d33c322bd72cb0fcdfe (patch)
tree9e5df9c1ec384c281da2522619d6d4cdcbf1bff9 /pp_sys.c
parent98be996420b2ebfac029a00d114efce509421622 (diff)
downloadperl-dc456155af24d5c772439d33c322bd72cb0fcdfe.tar.gz
[perl #97980] Stop tied() from returning a copy
Now tied() returns the actual scalar used to hold the tie object, so one can write weaken(tied $foo).
Diffstat (limited to 'pp_sys.c')
-rw-r--r--pp_sys.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/pp_sys.c b/pp_sys.c
index cc8b099775..78a51aed06 100644
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -973,10 +973,7 @@ PP(pp_tied)
RETPUSHUNDEF;
if ((mg = SvTIED_mg(sv, how))) {
- SV *osv = SvTIED_obj(sv, mg);
- if (osv == mg->mg_obj)
- osv = sv_mortalcopy(osv);
- PUSHs(osv);
+ PUSHs(SvTIED_obj(sv, mg));
RETURN;
}
RETPUSHUNDEF;