diff options
author | Ben Burwell <ben@benburwell.com> | 2020-01-09 09:42:12 -0500 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2020-01-09 14:32:22 -0500 |
commit | 598e39f523024ae36bd94c2fbee87cf13165c78e (patch) | |
tree | 4c0e453a3dfd2d319aca951c7b4e947d844b6307 | |
parent | eca3863242da2722e69b573e2559351b5219b63c (diff) |
Strip trailing newline from address book entries without names
When the list of completions from the external command doesn't have
associated contact names, the email address we attempt to parse was
being terminated with a newline. Now, we strip the trailing newline if
present.
-rw-r--r-- | completer/completer.go | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/completer/completer.go b/completer/completer.go index f6900ee..bc6c96f 100644 --- a/completer/completer.go +++ b/completer/completer.go @@ -138,16 +138,18 @@ func readCompletions(r io.Reader) ([]string, error) { return nil, err } parts := strings.SplitN(line, "\t", 3) - if addr, err := mail.ParseAddress(parts[0]); err == nil { - if len(parts) > 1 { - addr.Name = strings.TrimSpace(parts[1]) - } - decoded, err := decodeMIME(addr.String()) - if err != nil { - return nil, fmt.Errorf("could not decode MIME string: %w", err) - } - completions = append(completions, decoded) + addr, err := mail.ParseAddress(strings.TrimSpace(parts[0])) + if err != nil { + return nil, err + } + if len(parts) > 1 { + addr.Name = strings.TrimSpace(parts[1]) + } + decoded, err := decodeMIME(addr.String()) + if err != nil { + return nil, fmt.Errorf("could not decode MIME string: %w", err) } + completions = append(completions, decoded) } } |