X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Debbugs%2FLog.pm;h=551fd392a36fafea8b452377e30f19dbdc20d266;hb=759994a97a3e747305961b38eecd825d910e0c59;hp=de639494f087788f11f48304fcdf271d494dab4e;hpb=ab887f2c65e8ac828c6855f9904c81909256fc45;p=debbugs.git diff --git a/Debbugs/Log.pm b/Debbugs/Log.pm index de63949..551fd39 100644 --- a/Debbugs/Log.pm +++ b/Debbugs/Log.pm @@ -39,7 +39,7 @@ use Carp; use Debbugs::Common qw(getbuglocation getbugcomponent make_list); use Params::Validate qw(:types validate_with); -use Encode qw(encode is_utf8); +use Encode qw(encode encode_utf8 is_utf8); =head1 NAME @@ -405,6 +405,15 @@ sub write_log_records if (defined $recips) { croak "recips not undef or array" unless ref($recips) eq 'ARRAY'; + my $wrong_encoding = 0; + my @recips = + map { if (is_utf8($_)) { + $wrong_encoding=1; + encode_utf8($_); + } else { + $_; + }} @$recips; + carp('Recipients was in the wrong encoding (perl internal instead of utf8 octets') if $wrong_encoding; print {$logfh} join("\04", @$recips) . "\n" or die "Unable to write to logfile: $!"; } else {