write the .log files used by debbugs to store the complete textual records
of all bug transactions.
+Debbugs::Log does not decode utf8 into perl's internal encoding or
+encode into utf8 from perl's internal encoding. For html records and
+all recips, this should probably be done. For other records, this should
+not be needed.
+
=head2 The .log File Format
.log files consist of a sequence of records, of one of the following four
die "Unable to open bug log $bug_log for reading: $!";
}
- binmode($self->{logfh},':utf8');
$self->{state} = 'kill-init';
$self->{linenum} = 0;
return $self;
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: $!";