send-email: fix garbage removal after address
authorMatthieu Moy <git@matthieu-moy.fr>
Wed, 23 Aug 2017 10:21:01 +0000 (12:21 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 24 Aug 2017 21:40:15 +0000 (14:40 -0700)
commitcb2922fe4b2a82e2174d419781836e768651ebff
tree4d0d7af22e2d52a1acbecfd43017f0cc77a17923
parentedc74bc7f0c6884027e851ef09b2e0c9380dcd45
send-email: fix garbage removal after address

This is a followup over 9d33439 (send-email: only allow one address
per body tag, 2017-02-20). The first iteration did allow writting

Cc: <foo@example.com> # garbage
but did so by matching the regex ([^>]*>?), i.e. stop after the first
instance of '>'. However, it did not properly deal with

Cc: foo@example.com # garbage
Fix this using a new function strip_garbage_one_address, which does
essentially what the old ([^>]*>?) was doing, but dealing with more
corner-cases. Since we've allowed

Cc: "Foo # Bar" <foobar@example.com>
in previous versions, it makes sense to continue allowing it (but we
still remove any garbage after it). OTOH, when an address is given
without quoting, we just take the first word and ignore everything
after.

Signed-off-by: Matthieu Moy <git@matthieu-moy.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-send-email.perl
t/t9001-send-email.sh