summaryrefslogtreecommitdiff
path: root/fml/lib/FML/Header/Subject.pm
diff options
context:
space:
mode:
authorfukachan <fukachan>2002-10-03 22:12:01 +0000
committerfukachan <fukachan>2002-10-03 22:12:01 +0000
commiteb47e91c483b0be0d81f843be44cc67ee272d94d (patch)
treea25165f681dc6f928114787774f3f25d1c8ec1df /fml/lib/FML/Header/Subject.pm
parent5f256d94faae86a175e70df681ed499ed3d3ed03 (diff)
downloadfml8-eb47e91c483b0be0d81f843be44cc67ee272d94d.tar.gz
fml8-eb47e91c483b0be0d81f843be44cc67ee272d94d.tar.bz2
fml8-eb47e91c483b0be0d81f843be44cc67ee272d94d.zip
workaround to re-encode subject after subject tag handling
Diffstat (limited to 'fml/lib/FML/Header/Subject.pm')
-rw-r--r--fml/lib/FML/Header/Subject.pm20
1 files changed, 15 insertions, 5 deletions
diff --git a/fml/lib/FML/Header/Subject.pm b/fml/lib/FML/Header/Subject.pm
index a4af6979..9efe4603 100644
--- a/fml/lib/FML/Header/Subject.pm
+++ b/fml/lib/FML/Header/Subject.pm
@@ -4,7 +4,7 @@
# All rights reserved. This program is free software; you can
# redistribute it and/or modify it under the same terms as Perl itself.
#
-# $FML: Subject.pm,v 1.29 2002/09/11 23:18:12 fukachan Exp $
+# $FML: Subject.pm,v 1.30 2002/09/22 14:56:50 fukachan Exp $
#
package FML::Header::Subject;
@@ -64,16 +64,25 @@ replace the subject with the newer content.
sub rewrite_article_subject_tag
{
my ($self, $header, $config, $args) = @_;
+ my ($in_code, $out_code) = ();
# for example, ml_name = elena
- my $ml_name = $config->{ ml_name };
- my $tag = $config->{ article_subject_tag };
- my $subject = $header->get('subject');
+ my $ml_name = $config->{ ml_name };
+ my $tag = $config->{ article_subject_tag };
+ my $subject = $header->get('subject');
+
+ if ($subject =~ /=\?iso-2022-jp\?/i) {
+ $in_code = 'jis-jp';
+ $out_code = 'euc-jp';
+ }
+ else {
+ $in_code = $out_code = '';
+ }
# decode mime
use Mail::Message::Encode;
my $obj = new Mail::Message::Encode;
- $subject = $obj->decode_mime_string( $subject );
+ $subject = $obj->decode_mime_string($subject , $out_code);
# cut off Re: Re: Re: ...
$self->_cut_off_reply(\$subject);
@@ -87,6 +96,7 @@ sub rewrite_article_subject_tag
# add(prepend) the rewrited tag
$tag = sprintf($tag, $args->{ id });
my $new_subject = $tag." ".$subject;
+ $new_subject = $obj->encode_mime_string($new_subject, 'base64', $in_code);
$header->replace('Subject', $new_subject);
}