aboutsummaryrefslogtreecommitdiffstats
path: root/Rpmdrake/formatting.pm
diff options
context:
space:
mode:
authorThierry Vignaud <tv@mageia.org>2012-03-26 18:21:41 +0000
committerThierry Vignaud <tv@mageia.org>2012-03-26 18:21:41 +0000
commitd62348801fa2eaae0c9fa96e5a6a0b9612fbc27d (patch)
treeb1f10a40ab72173b1840ceca18a3a685e0abbb72 /Rpmdrake/formatting.pm
parent584e87663263b850c4a35247a762da1bf31cd90f (diff)
downloadrpmdrake-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.pm17
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 {