mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-25 04:18:08 +01:00
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.
This commit is contained in:
parent
be72bf3070
commit
535b14dcba
1 changed files with 18 additions and 0 deletions
|
@ -139,11 +139,29 @@ gen_terms_address_name (Xapian::TermGenerator term_gen,
|
||||||
const char *prefix_name)
|
const char *prefix_name)
|
||||||
{
|
{
|
||||||
const char *name;
|
const char *name;
|
||||||
|
int own_name = 0;
|
||||||
|
|
||||||
name = internet_address_get_name (address);
|
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)
|
if (name)
|
||||||
gen_terms (term_gen, prefix_name, name);
|
gen_terms (term_gen, prefix_name, name);
|
||||||
|
|
||||||
|
if (own_name)
|
||||||
|
free ((void *) name);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Reference in a new issue