From 535b14dcba772786541a95db280daf24398aacc5 Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Wed, 14 Oct 2009 13:46:01 -0700 Subject: [PATCH] notmuch-index-message: Use local-part of email addres in lieu of name. If there's no name given, take the portion of the email addres before the '@' sign. One step closer to matching sup's terms in the database. --- notmuch-index-message.cc | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/notmuch-index-message.cc b/notmuch-index-message.cc index 1922dd37..91330658 100644 --- a/notmuch-index-message.cc +++ b/notmuch-index-message.cc @@ -139,11 +139,29 @@ gen_terms_address_name (Xapian::TermGenerator term_gen, const char *prefix_name) { const char *name; + int own_name = 0; name = internet_address_get_name (address); + /* In the absence of a name, we'll strip the part before the @ + * from the address. */ + if (! name) { + InternetAddressMailbox *mailbox = INTERNET_ADDRESS_MAILBOX (address); + const char *addr = internet_address_mailbox_get_addr (mailbox); + const char *at; + + at = strchr (addr, '@'); + if (at) { + name = strndup (addr, at - addr); + own_name = 1; + } + } + if (name) gen_terms (term_gen, prefix_name, name); + + if (own_name) + free ((void *) name); } static void