From df371447450ccd39b7e8a08871b74fc4b7b2d121 Mon Sep 17 00:00:00 2001 From: Guillaume Cottenceau Date: Wed, 8 Jan 2003 11:48:41 +0000 Subject: perl's sprintf is bugged when parts of the SV's are UTF8, parts not --- grpmi/grpmi.pl | 8 +++++++- rpmdrake.pm | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/grpmi/grpmi.pl b/grpmi/grpmi.pl index 3783ce3d..c01bee24 100755 --- a/grpmi/grpmi.pl +++ b/grpmi/grpmi.pl @@ -34,9 +34,15 @@ sub translate { my ($s) = @_; $s ? c::dgettext('grpmi', $s) : ''; } +sub sprintf_fixutf8 { + my $need_upgrade; + $need_upgrade |= to_bool(c::is_tagged_utf8($_)) + 1 foreach @_; + if ($need_upgrade == 3) { c::upgrade_utf8($_) foreach @_ }; + sprintf shift, @_; +} sub _ { my $s = shift @_; my $t = translate($s); - sprintf $t, @_; + sprintf_fixutf8 $t, @_; } sub mexit { ugtk2::exit(undef, @_) } diff --git a/rpmdrake.pm b/rpmdrake.pm index 254562e3..ae335e27 100644 --- a/rpmdrake.pm +++ b/rpmdrake.pm @@ -45,9 +45,15 @@ sub translate { my ($s) = @_; $s ? c::dgettext('rpmdrake', $s) : ''; } +sub sprintf_fixutf8 { + my $need_upgrade; + $need_upgrade |= to_bool(c::is_tagged_utf8($_)) + 1 foreach @_; + if ($need_upgrade == 3) { c::upgrade_utf8($_) foreach @_ }; + sprintf shift, @_; +} sub N { my $s = shift @_; my $t = translate($s); - sprintf $t, @_; + sprintf_fixutf8 $t, @_; } sub myexit { ugtk2::exit(undef, @_) } -- cgit v1.2.1