diff options
author | Nicholas Clark <nick@ccl4.org> | 2010-02-20 18:54:58 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2010-05-04 18:58:18 +0100 |
commit | c9441fce959a578649990e314e4e5d491aa4b319 (patch) | |
tree | 289979e1991b85b13f254eab99507e431d16f78b /scope.c | |
parent | 72ecaef9b6534b55c9387725446d2c87621d5cbf (diff) | |
download | perl-c9441fce959a578649990e314e4e5d491aa4b319.tar.gz |
For SAVEt_I16, save the value with the type.
Diffstat (limited to 'scope.c')
-rw-r--r-- | scope.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -417,7 +417,9 @@ Perl_save_I16(pTHX_ I16 *intp) PERL_ARGS_ASSERT_SAVE_I16; - save_pushi32ptr(*intp, intp, SAVEt_I16); + SSCHECK(2); + SSPUSHPTR(intp); + SSPUSHUV(SAVEt_I16 | ((UV)*intp << 8)); } void @@ -1086,7 +1088,7 @@ Perl_leave_scope(pTHX_ I32 base) case SAVEt_I16: /* I16 reference */ ptr = SSPOPPTR; - *(I16*)ptr = (I16)SSPOPINT; + *(I16*)ptr = (I16)(uv >> 8); break; case SAVEt_I8: /* I8 reference */ ptr = SSPOPPTR; |