From 598e39f523024ae36bd94c2fbee87cf13165c78e Mon Sep 17 00:00:00 2001 From: Ben Burwell Date: Thu, 9 Jan 2020 09:42:12 -0500 Subject: 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. --- completer/completer.go | 20 +++++++++++--------- 1 file 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) } } -- cgit v1.2.3