summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2011-05-29 20:36:05 -0700
committerFather Chrysostomos <sprout@cpan.org>2011-05-29 20:39:51 -0700
commit3259388b9b72d07a50fa1de8a5c6c1764a8e7584 (patch)
treee1a28095bccb5cba5088204b7822e4db7097ec13
parent67a53d688ca9c89ddf138af0a4561601b3b778a8 (diff)
downloadperl-3259388b9b72d07a50fa1de8a5c6c1764a8e7584.tar.gz
Revert "[perl #91834] utf8::decode does not respect copy-on-write"
This reverts commit 40f11004fb3b5fa1cd207a20090df837d721b736.
-rw-r--r--lib/utf8.t12
-rw-r--r--universal.c1
2 files changed, 0 insertions, 13 deletions
diff --git a/lib/utf8.t b/lib/utf8.t
index b13bb5377d..ae81ccdc46 100644
--- a/lib/utf8.t
+++ b/lib/utf8.t
@@ -427,18 +427,6 @@ SKIP: {
}
{
- # Make sure utf8::decode respects copy-on-write [perl #91834].
- # Hash keys are the easiest way to test this.
- my $name = "\x{c3}\x{b3}";
- my ($k1) = keys %{ { $name=>undef } };
- my $k2 = $name;
- utf8::decode($k1);
- utf8::decode($k2);
- my $h = { $k1 => 1, $k2 => 2 };
- is join('', keys $h), $k2, 'utf8::decode respects copy-on-write';
-}
-
-{
my $a = "456\xb6";
utf8::upgrade($a);
diff --git a/universal.c b/universal.c
index d012c0f01d..145d860bc6 100644
--- a/universal.c
+++ b/universal.c
@@ -695,7 +695,6 @@ XS(XS_utf8_decode)
croak_xs_usage(cv, "sv");
else {
SV * const sv = ST(0);
- if (SvIsCOW(sv)) sv_force_normal(sv);
const bool RETVAL = sv_utf8_decode(sv);
ST(0) = boolSV(RETVAL);
sv_2mortal(ST(0));