diff options
Diffstat (limited to 'lib/PublicInbox/Address.pm')
-rw-r--r-- | lib/PublicInbox/Address.pm | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/PublicInbox/Address.pm b/lib/PublicInbox/Address.pm index 433b36eb..c23a5d62 100644 --- a/lib/PublicInbox/Address.pm +++ b/lib/PublicInbox/Address.pm @@ -4,12 +4,15 @@ package PublicInbox::Address; use strict; use warnings; -sub xs_emails { map { $_->address() } parse_email_addresses($_[0]) } +sub xs_emails { + grep { defined } map { $_->address() } parse_email_addresses($_[0]) +} sub xs_names { - map { + grep { defined } map { my $n = $_->name; - $n = $_->user if $n eq $_->address; + my $addr = $_->address; + $n = $_->user if defined($addr) && $n eq $addr; $n; } parse_email_addresses($_[0]); } |