diff options
Diffstat (limited to 'libgo/go/net/mail/message.go')
-rw-r--r-- | libgo/go/net/mail/message.go | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/libgo/go/net/mail/message.go b/libgo/go/net/mail/message.go index 6833cfaec11..09fb794005a 100644 --- a/libgo/go/net/mail/message.go +++ b/libgo/go/net/mail/message.go @@ -279,9 +279,6 @@ func (p *addrParser) parseAddressList() ([]*Address, error) { if p.consume(',') { continue } - if p.empty() { - break - } addrs, err := p.parseAddress(true) if err != nil { @@ -295,9 +292,17 @@ func (p *addrParser) parseAddressList() ([]*Address, error) { if p.empty() { break } - if !p.consume(',') { + if p.peek() != ',' { return nil, errors.New("mail: expected comma") } + + // Skip empty entries for obs-addr-list. + for p.consume(',') { + p.skipSpace() + } + if p.empty() { + break + } } return list, nil } |