Junio it would be very nice to get this in 1.5.4, fixes multiple problems and tested with many distros with success.
Use perl builtin class utf8 for UTF-8 decoding, this fixes Encode problems with older Encode and avoids problems on UTF-8 locales.
Signed-off-by: İsmail Dönmez <ismail@pardus.org.tr> Acked-by: Jakub Narebski <jnareb@gmail.com> Tested-by: Martin Koegler <mkoegler@auto.tuwien.ac.at> Tested-by: Wincent Colaiuta <win@wincent.com>
Show changes to gitweb/gitweb.perl +3 −4
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index ff5daa7..db255c1 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -695,10 +695,9 @@ sub validate_refname { # in utf-8 thanks to "binmode STDOUT, ':utf8'" at beginning sub to_utf8 { my $str = shift; - my $res; - eval { $res = decode_utf8($str, Encode::FB_CROAK); }; - if (defined $res) { - return $res; + if (utf8::valid($str)) { + utf8::decode($str); + return $str; } else { return decode($fallback_encoding, $str, Encode::FB_DEFAULT); }
-- Never learn by your mistakes, if you do you may never dare to try again.