diff options
author | Thierry Vignaud <tv@mageia.org> | 2012-03-26 18:21:41 +0000 |
---|---|---|
committer | Thierry Vignaud <tv@mageia.org> | 2012-03-26 18:21:41 +0000 |
commit | d62348801fa2eaae0c9fa96e5a6a0b9612fbc27d (patch) | |
tree | b1f10a40ab72173b1840ceca18a3a685e0abbb72 /Rpmdrake/formatting.pm | |
parent | 584e87663263b850c4a35247a762da1bf31cd90f (diff) | |
download | rpmdrake-d62348801fa2eaae0c9fa96e5a6a0b9612fbc27d.tar rpmdrake-d62348801fa2eaae0c9fa96e5a6a0b9612fbc27d.tar.gz rpmdrake-d62348801fa2eaae0c9fa96e5a6a0b9612fbc27d.tar.bz2 rpmdrake-d62348801fa2eaae0c9fa96e5a6a0b9612fbc27d.tar.xz rpmdrake-d62348801fa2eaae0c9fa96e5a6a0b9612fbc27d.zip |
(ensure_utf8) sync with genhdlist2 and use utf8:: functions instead of Encode
Diffstat (limited to 'Rpmdrake/formatting.pm')
-rw-r--r-- | Rpmdrake/formatting.pm | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/Rpmdrake/formatting.pm b/Rpmdrake/formatting.pm index de78fb80..6f581b9e 100644 --- a/Rpmdrake/formatting.pm +++ b/Rpmdrake/formatting.pm @@ -54,15 +54,16 @@ our @EXPORT = qw( # from rpmtools, #37482: sub ensure_utf8 { - my ($s) = @_; - require Encode; - Encode::_utf8_on($s); #- this is done on the copy - if (!Encode::is_utf8($s, 1)) { - Encode::_utf8_off($_[0]); - Encode::from_to($_[0], 'iso-8859-15', 'utf8'); # most probable + if (utf8::is_utf8($_[0])) { + utf8::valid($_[0]) and return; + + utf8::encode($_[0]); #- disable utf8 flag + utf8::upgrade($_[0]); + } else { + utf8::decode($_[0]); #- try to set utf8 flag + utf8::valid($_[0]) and return; + warn "do not know what to with $_[0]\n"; } - Encode::_utf8_on($_[0]); #- now we know it is valid utf8 - $_[0]; } sub rpm_description { |