Make utf8::decode respect set-magic
authorFather Chrysostomos <sprout@cpan.org>
Fri, 28 Sep 2012 15:40:53 +0000 (08:40 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Mon, 1 Oct 2012 19:51:54 +0000 (12:51 -0700)
t/op/utf8magic.t
universal.c

index cc6936f..55e921d 100644 (file)
@@ -6,7 +6,7 @@ BEGIN {
     require './test.pl';
 }
 
-plan tests => 5;
+plan tests => 6;
 
 use strict;
 
@@ -32,3 +32,7 @@ tie my $str2, "", "a";
 $str2 = "b";
 utf8::encode $str2;
 is $::stored, "a", 'utf8::encode respects get-magic on POK scalars';
+
+tie $str2, "", "\xc4\x80";
+utf8::decode $str2;
+is $::stored, "\x{100}", 'utf8::decode respects set-magic';
index 676c39b..6bae5bd 100644 (file)
@@ -823,6 +823,7 @@ XS(XS_utf8_decode)
        bool RETVAL;
        SvPV_force_nolen(sv);
        RETVAL = sv_utf8_decode(sv);
+       SvSETMAGIC(sv);
        ST(0) = boolSV(RETVAL);
     }
     XSRETURN(1);