send-email: refactor address list process

Simplify code by creating a function which transform a list of strings containing email addresses (separated by commas, comporting aliases) into a clean list of valid email addresses. Signed-off-by: Remi Lespinet <remi.lespinet@ensimag.grenoble-inp.fr> Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Remi Lespinet committed Jun 30, 2015 at 14:16 UTC b5e112d8d240b299553f17c8e476ef16fca4001f
1 file changed +12 -10
git-send-email.perl
+12 -10
@@ -808,12 +808,9 @@ sub expand_one_alias {
808 return $aliases{$alias} ? expand_aliases(@{$aliases{$alias}}) : $alias;
809 }
810
811 -@initial_to = expand_aliases(@initial_to);
812 -@initial_to = validate_address_list(sanitize_address_list(@initial_to));
813 -@initial_cc = expand_aliases(@initial_cc);
814 -@initial_cc = validate_address_list(sanitize_address_list(@initial_cc));
815 -@bcclist = expand_aliases(@bcclist);
816 -@bcclist = validate_address_list(sanitize_address_list(@bcclist));
811 +@initial_to = process_address_list(@initial_to);
812 +@initial_cc = process_address_list(@initial_cc);
813 +@bcclist = process_address_list(@bcclist);
814
815 if ($thread && !defined $initial_reply_to && $prompting) {
816 $initial_reply_to = ask(
@@ -1026,6 +1023,13 @@ sub sanitize_address_list {
1023 return (map { sanitize_address($_) } @_);
1024 }
1025
1026 +sub process_address_list {
1027 + my @addr_list = expand_aliases(@_);
1028 + @addr_list = sanitize_address_list(@addr_list);
1029 + @addr_list = validate_address_list(@addr_list);
1030 + return @addr_list;
1031 +}
1032 +
1033 # Returns the local Fully Qualified Domain Name (FQDN) if available.
1034 #
1035 # Tightly configured MTAa require that a caller sends a real DNS
@@ -1535,10 +1539,8 @@ foreach my $t (@files) {
1539 ($confirm =~ /^(?:auto|compose)$/ && $compose && $message_num == 1));
1540 $needs_confirm = "inform" if ($needs_confirm && $confirm_unconfigured && @cc);
1541
1538 - @to = expand_aliases(@to);
1539 - @to = validate_address_list(sanitize_address_list(@to));
1540 - @cc = expand_aliases(@cc);
1541 - @cc = validate_address_list(sanitize_address_list(@cc));
1542 + @to = process_address_list(@to);
1543 + @cc = process_address_list(@cc);
1544
1545 @to = (@initial_to, @to);
1546 @cc = (@initial_cc, @cc);