quilt-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Quilt-dev] [PATCH v2] mail: handle email address with quoted commas


From: Wu Fengguang
Subject: [Quilt-dev] [PATCH v2] mail: handle email address with quoted commas
Date: Fri, 19 Dec 2008 21:44:00 +0800
User-agent: Mutt/1.5.18 (2008-05-17)

Enable quilt mail to handle email addresses like

        "Zhu, Yi" <address@hidden>, "Li, Shaohua" <address@hidden>

Here the comma inside the double quotes should not be interpreted.

Signed-off-by: Wu Fengguang <address@hidden>
---
--- quilt/scripts/edmail.orig   2008-12-13 10:40:36.000000000 +0800
+++ quilt/scripts/edmail        2008-12-19 21:39:38.000000000 +0800
@@ -7,6 +7,7 @@
 #            Message Header Extensions for Non-ASCII Text
 
 use Getopt::Long;
+use Text::ParseWords;
 use strict;
 
 # This ugly trick lets the script work even if gettext support is missing.
@@ -121,6 +122,10 @@ sub check_recipient($) {
     }
 }
 
+sub split_addrs {
+       return parse_line('\s*,\s*', 1, @_);
+}
+
 my %recipients;
 sub process_header($) {
     local ($_) = @_;
@@ -135,7 +140,7 @@ sub process_header($) {
        if (exists $extract_recipients_from{lc $name}) {
            #print "(($value))";
            $value =~ s/^\s*//;  $value =~ s/\s*$//;
-           foreach my $recipient (split /\s*,\s*/s, $value) {
+           foreach my $recipient (split_addrs($value)) {
                    next if $recipient =~ /^\s*$/;
                    #print "<<$recipient>>";
                    my $deliver;
@@ -162,7 +167,7 @@ sub process_header($) {
        # This is a recipients field. Split out all the recipients and
        # check the addresses. Suppress duplicate recipients.
        $value =~ s/^\s*//;  $value =~ s/\s*$//;
-       foreach my $recipient (split /\s*,\s*/, $value) {
+       foreach my $recipient (split_addrs($value)) {
            next if $recipient =~ /^\s*$/;
            my $deliver;
            ($recipient, $deliver) = check_recipient($recipient);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]