[Mew-dist 11877] Re: Bcc and Resent-Bcc

Koga Youichirou y-koga at example.com
1999年 12月 16日 (木) 10:36:38 JST


Motonori Nakamura <motonori at example.com>:
> 私も、Dcc: の処理で同様に気になっていたのですが、ほったらかしに
> していました。統一的に Resent-*: のみを参照するのが、混乱もなく
> 正しいと思います。
> Recipient.pm の rcpt_pickup をちょいと直せばすぐですので、
> だれかお願いします。

こんな感じかな。

--- IM/Recipient.pm.ORG	Mon Oct 25 20:13:02 1999
+++ IM/Recipient.pm	Thu Dec 16 10:34:32 1999
@@ -231,24 +231,25 @@
 sub rcpt_pickup ($$$) {
     my ($Header, $resend_flag, $news_only_flag) = @_;
     my $line;
+    my $resend_prefix;
 
     foreach $line (@$Header) {
-	if ($line =~ /^Dcc:(.*)/is) {
-	    return -1 if (&parse_rcpt(0, $1, 0) < 0);
-	} elsif ($line =~ /^Bcc:(.*)/is) {
-	    return -1 if (&parse_rcpt($main::Mime_bcc, $1, 0) < 0);
-	} elsif ($line =~ /^Fcc:(.*)/is) {
+	if ($line =~ /^Fcc:(.*)/is) {
 	    $main::Fcc_folder = $1;
 	    $main::Fcc_folder =~ s/\s//g;
-	} elsif (!$news_only_flag) {
-	    unless ($resend_flag) {
-		if ($line =~ /^(To|Cc):(.*)/is) {
-		    return -1 if (&parse_rcpt(0, $2, 0) < 0);
-		}
-	    } else {
-		if ($line =~ /^Resent-(To|Cc):(.*)/is) {
-		    return -1 if (&parse_rcpt(0, $2, 0) < 0);
-		}
+	}
+	if ($news_only_flag) {
+	    if ($line =~ /^Dcc:(.*)/is) {
+		return -1 if (&parse_rcpt(0, $1, 0) < 0);
+	    } elsif ($line =~ /^Bcc:(.*)/is) {
+		return -1 if (&parse_rcpt($main::Mime_bcc, $1, 0) < 0);
+	    }
+	} else {
+	    $resend_prefix = $resend_flag ? "Resent-" : "";
+	    if ($line =~ /^${resend_prefix}(To|Cc|Dcc):(.*)/is) {
+		return -1 if (&parse_rcpt(0, $2, 0) < 0);
+	    } elsif ($line =~ /^${resend_prefix}Bcc:(.*)/is) {
+		return -1 if (&parse_rcpt($main::Mime_bcc, $1, 0) < 0);
 	    }
 	}
     }


Mew 側でも Resent-{Bcc,Dcc} を補完するようにするべきかも。
----
こがよういちろう



Mew-dist メーリングリストの案内