From 3c88e46f1a4328f594cbdcd6109034d9fb9a1b56 Mon Sep 17 00:00:00 2001 From: Aaron Lindsay Date: Fri, 2 Nov 2018 05:52:38 -0400 Subject: [PATCH] send-email: avoid empty transfer encoding header Fix a small bug introduced by "7a36987ff (send-email: add an auto option for transfer encoding, 2018-07-14)". I saw the following message when setting --transfer-encoding for a file with the same encoding: $ git send-email --transfer-encoding=8bit example.patch Use of uninitialized value $xfer_encoding in concatenation (.) or string at /usr/lib/git-core/git-send-email line 1744. The new tests are by brian m. carlson. Signed-off-by: Aaron Lindsay Signed-off-by: brian m. carlson Signed-off-by: Junio C Hamano --- git-send-email.perl | 2 +- t/t9001-send-email.sh | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/git-send-email.perl b/git-send-email.perl index f4c07908d2..6b5d746bde 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -1835,7 +1835,7 @@ sub apply_transfer_encoding { my $from = shift; my $to = shift; - return $message if ($from eq $to and $from ne '7bit'); + return ($message, $to) if ($from eq $to and $from ne '7bit'); require MIME::QuotedPrint; require MIME::Base64; diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh index 1da282c415..8e36a67b3a 100755 --- a/t/t9001-send-email.sh +++ b/t/t9001-send-email.sh @@ -493,6 +493,21 @@ do --validate \ $patches longline.patch ' + +done + +for enc in 7bit 8bit quoted-printable base64 +do + test_expect_success $PREREQ "--transfer-encoding=$enc produces correct header" ' + clean_fake_sendmail && + git send-email \ + --from="Example " \ + --to=nobody@example.com \ + --smtp-server="$(pwd)/fake.sendmail" \ + --transfer-encoding=$enc \ + $patches && + grep "Content-Transfer-Encoding: $enc" msgtxt1 + ' done test_expect_success $PREREQ 'Invalid In-Reply-To' ' -- 2.47.1