Package: ikiwiki
Version: 3.20140916
Tags: patch

Commit feb21ebfacb341fc34244e1c9b8557fd81d1dfc1 added a
safe_decode_utf8 function that avoids double decoding on Perl 5.20.
But the Perl behavior change actually happened in Encode.pm 2.53
(https://github.com/dankogai/p5-encode/pull/11).  Although Perl 5.20
is the first Perl version to bundle an affected version of Encode.pm,
it’s also possible to upgrade Encode.pm independently; for example,
Fedora 20 has Perl 5.18.4 with Encode.pm 2.54.  On such a system,
editing a non-ASCII file still fails with errors like

Error: Cannot decode string with wide characters at
/usr/lib64/perl5/vendor_perl/Encode.pm line 216.

There doesn’t seem to be any reason not to check Encode::is_utf8 on
old versions too, so just remove the version check altogether.

Signed-off-by: Anders Kaseorg <ande...@mit.edu>
---
 IkiWiki/CGI.pm | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/IkiWiki/CGI.pm b/IkiWiki/CGI.pm
index 61af830..d801c72 100644
--- a/IkiWiki/CGI.pm
+++ b/IkiWiki/CGI.pm
@@ -124,9 +124,7 @@ sub decode_cgi_utf8 ($) {
 
 sub safe_decode_utf8 ($) {
     my $octets = shift;
-    # call decode_utf8 on >= 5.20 only if it's not already decoded,
-    # otherwise it balks, on < 5.20, always call it
-    if ($] < 5.02 || !Encode::is_utf8($octets)) {
+    if (!Encode::is_utf8($octets)) {
         return decode_utf8($octets);
     }
     else {
-- 
2.3.0.rc1


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to