$maxcolwidth = 78;
#
-# Out HTML converter program & arguments
+# Out HTML converter program & arguments. charset will be appended
#
@htmlconv = ('w3m', '-dump', '-cols', $maxcolwidth - 2, '-T', 'text/html',
- '-O', $outcharset);
+ '-O', $outcharset, '-I');
die "Usage: $0 Content-type content-transfer-encoding quote-prefix\n"
binmode($input, ':encoding(us-ascii)');
- $decoder = find_decoder($encoding);
+ $decoder = find_decoder(lc($encoding));
if (! defined $decoder) {
return 'EOF';
}
# Send our input to the filter program
#
- if (defined %filterreplace) {
+ if (%filterreplace) {
foreach my $match (keys %filterreplace) {
$text =~ s/$match/$filterreplace{$match}/g;
}
my $filterpid, $prefixpid, $finread, $finwrite;
my $foutread, $foutwrite, $decoder, $ret;
- if (! defined($decoder = find_decoder($encoding))) {
+ if (! defined($decoder = find_decoder(lc($encoding)))) {
return 'EOF';
}
# Exec our converter
#
- exec (@htmlconv) ||
+ my @conv = (@htmlconv, $charset);
+ exec (@conv) ||
die "Unable to exec $filterprogram: $!\n";
} else {
die "Fork for $htmlconv[0] failed: $!\n";
$charset = 'us-ascii';
}
- $encoding = defined $cte ? $cte->param('_') : '7bit';
+ $encoding = defined $cte ? lc($cte->param('_')) : '7bit';
$name = defined $cdispo ? $cdispo->param('filename') : undef;
#
sub match_boundary($$)
{
- my ($_, $boundary) = @_;
+ my ($line, $boundary) = @_;
return if ! defined $boundary;
- if (substr($_, 0, 2) eq '--') {
- s/[ \t\r\n]+\Z//;
- if ($_ eq "--$boundary") {
+ if (substr($line, 0, 2) eq '--') {
+ $line =~ s/[ \t\r\n]+\Z//;
+ if ($line eq "--$boundary") {
return 'EOP';
- } elsif ($_ eq "--$boundary--") {
+ } elsif ($line eq "--$boundary--") {
return 'EOM';
}
}