]>
Commit | Line | Data |
---|---|---|
d1d47320 TP |
1 | diff -urN feeder-2.1.4.orig/usr/lib/perl5/site_perl/Feeder/feeder.pm feeder-2.1.4/usr/lib/perl5/site_perl/Feeder/feeder.pm |
2 | --- feeder-2.1.4.orig/usr/lib/perl5/site_perl/Feeder/feeder.pm 2001-08-13 12:08:36.000000000 +0200 | |
3 | +++ feeder-2.1.4/usr/lib/perl5/site_perl/Feeder/feeder.pm 2003-06-26 16:20:47.000000000 +0200 | |
4 | @@ -71,12 +71,31 @@ | |
5 | =cut | |
6 | ||
7 | sub parse_headers { | |
8 | + my $orig, $change; | |
9 | my $val=0; | |
10 | - ${$_[0]} =~ s/^Subject: (Re: |Odp: )+/Subject: Re: /im if ($ODP2RE eq "yes"); | |
11 | + ${$_[0]} =~ s/\n\s+/ /g; | |
12 | if ($QP28bit eq "yes") { | |
13 | - $val=1 if (${$_[0]} =~ /^Content-Transfer-Encoding: (?i:quoted-printable)$/m); | |
14 | - ${$_[0]} =~ s/^(Content-Transfer-Encoding: )(?i:quoted-printable|7bit)$/${1}8bit/m; | |
15 | + ${$_[0]} =~ s/(=\?(?i:iso-8859-[12]\?q)\?[!-~\s]*?\?=)\s+(=\?(?i:iso-8859-[12]\?q)\?[!-~\s]*?\?=)/$1$2/og; | |
16 | + ${$_[0]} =~ s/(=\?(?i:iso-8859-[12]\?q)\?[!-~\s]*?\?=)\s+(=\?(?i:iso-8859-[12]\?q)\?[!-~\s]*?\?=)/$1$2/g; | |
17 | + while (/(=\?(?i:iso-8859-[12]\?q)\?([!-~\s]*?)\?=)/) { | |
18 | + $orig=$1; | |
19 | + $change=$2; | |
20 | + $change=~s/_/ /g; | |
21 | + $change=~s/=([\dA-F]{2})/chr hex $1/ge; | |
22 | + s/\Q$orig\E/$change/g; | |
23 | + } | |
24 | + while (/(=\?(?i:iso-8859-[12]\?b)\?([!-~\s]*?)\?=)/) { | |
25 | + $orig=$1; | |
26 | + $change=$2; | |
27 | + $change=~s/=+$//g; | |
28 | + $change=~tr|A-Za-z0-9+/| -_|; | |
29 | + $change=unpack("u",chr(32+length($change)*3/4).$change); | |
30 | + s/\Q$orig\E/$change/g; | |
31 | + } | |
32 | + $val=1 if ${$_[0]} =~ s/^Content-Transfer-Encoding: (?i:quoted-printable)$/Content-Transfer-Encoding: 8bit/m; | |
33 | } | |
34 |