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.
This commit is contained in:
parent
eca3863242
commit
598e39f523
1 changed files with 11 additions and 9 deletions
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue