From ab887f2c65e8ac828c6855f9904c81909256fc45 Mon Sep 17 00:00:00 2001 From: Don Armstrong Date: Thu, 7 Feb 2013 08:37:20 -0800 Subject: [PATCH] - carp if the a log text record is in perl's internal encoding instead of octets - attempt to encode the text to fix the problem after complaining --- Debbugs/Log.pm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Debbugs/Log.pm b/Debbugs/Log.pm index 2ae7af7..de63949 100644 --- a/Debbugs/Log.pm +++ b/Debbugs/Log.pm @@ -390,8 +390,12 @@ sub write_log_records croak "record type '$type' with no text field" unless defined $record->{text}; # I am not sure if we really want to croak here; but this is # almost certainly a bug if is_utf8 is on. - # croak "probably wrong encoding" if is_utf8($record->{text}); - my ($text) = escape_log($record->{text}); + my $text = $record->{text}; + if (is_utf8($text)) { + carp('Record text was in the wrong encoding (perl internal instead of utf8 octets)'); + $text = encode_utf8($text) + } + ($text) = escape_log($text); if ($type eq 'autocheck') { print {$logfh} "\01\n$text\03\n" or die "Unable to write to logfile: $!"; -- 2.39.2