send-email: work around double encoding of in-body From field.
git-send-email sends out the message taken from format-patch output without quoting nor encoding. When copying the From: line to form in-body From: field, it should not copy it verbatim, because the From: for the header is quoted according to RFC 2047 when not ASCII. The original came from Jürgen Rühle, but I moved the string munging into a separate function so that later other people can tweak it more easily. Bugs introduced during the translation are mine. Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
c2cb959fe7
commit
374c59056a
@ -402,6 +402,15 @@ sub make_message_id
|
||||
$cc = "";
|
||||
$time = time - scalar $#files;
|
||||
|
||||
sub unquote_rfc2047 {
|
||||
local ($_) = @_;
|
||||
if (s/=\?utf-8\?q\?(.*)\?=/$1/g) {
|
||||
s/_/ /g;
|
||||
s/=([0-9A-F]{2})/chr(hex($1))/eg;
|
||||
}
|
||||
return "$_ - unquoted";
|
||||
}
|
||||
|
||||
sub send_message
|
||||
{
|
||||
my @recipients = unique_email_list(@to);
|
||||
@ -555,6 +564,7 @@ foreach my $t (@files) {
|
||||
}
|
||||
close F;
|
||||
if (defined $author_not_sender) {
|
||||
$author_not_sender = unquote_rfc2047($author_not_sender);
|
||||
$message = "From: $author_not_sender\n\n$message";
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user