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 --- rpmdrake.pm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'rpmdrake.pm') 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