summaryrefslogtreecommitdiff
path: root/mg.c
diff options
context:
space:
mode:
authorCraig A. Berry <craigberry@mac.com>2009-05-21 12:07:26 -0500
committerCraig A. Berry <craigberry@mac.com>2009-05-21 12:07:26 -0500
commit41cb7b2bbf3884f70e9310a33e435deda35b8c46 (patch)
treea0858a24cb2983d7b4e6d4695bba5ea899f9f41c /mg.c
parent0e44608102d0bfb1d574ba4b0c350390ef1d459c (diff)
downloadperl-41cb7b2bbf3884f70e9310a33e435deda35b8c46.tar.gz
$? needs upgrade to PVLV when COMPLEX_STATUS is defined.
Diffstat (limited to 'mg.c')
-rw-r--r--mg.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/mg.c b/mg.c
index 2147407adf..c6f483e8b3 100644
--- a/mg.c
+++ b/mg.c
@@ -977,6 +977,7 @@ Perl_magic_get(pTHX_ SV *sv, MAGIC *mg)
{
sv_setiv(sv, (IV)STATUS_CURRENT);
#ifdef COMPLEX_STATUS
+ SvUPGRADE(sv, SVt_PVLV);
LvTARGOFF(sv) = PL_statusvalue;
LvTARGLEN(sv) = PL_statusvalue_vms;
#endif
@@ -2557,6 +2558,7 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
case '?':
#ifdef COMPLEX_STATUS
if (PL_localizing == 2) {
+ SvUPGRADE(sv, SVt_PVLV);
PL_statusvalue = LvTARGOFF(sv);
PL_statusvalue_vms = LvTARGLEN(sv);
}