diff --git a/lib/mu-server.cc b/lib/mu-server.cc index 0d1dc78b..b40c39fd 100644 --- a/lib/mu-server.cc +++ b/lib/mu-server.cc @@ -522,7 +522,7 @@ Server::Private::contacts_handler(const Parameters& params) auto rank{0}; Sexp::List contacts; - store().contacts_cache().for_each([&](const ContactInfo& ci) { + store().contacts_cache().for_each([&](const MessageContact& ci) { rank++; /* since the last time we got some contacts */ @@ -532,11 +532,12 @@ Server::Private::contacts_handler(const Parameters& params) if (personal && !ci.personal) return; /* only include newer-than-x contacts */ - if (after > ci.last_seen) + if (after > ci.message_date) return; Sexp::List contact; - contact.add_prop(":address", Sexp::make_string(ci.full_address)); + contact.add_prop(":address", + Sexp::make_string(ci.display_name())); contact.add_prop(":rank", Sexp::make_number(rank)); contacts.add(Sexp::make_list(std::move(contact))); diff --git a/lib/mu-store.cc b/lib/mu-store.cc index e7327fe9..77cee4d9 100644 --- a/lib/mu-store.cc +++ b/lib/mu-store.cc @@ -1007,12 +1007,7 @@ add_contacts_terms_values(Xapian::Document& doc, MuMsg *msg, termgen.index_text_without_positions(contact.email, 1, pfx); /* and add to the contact store.*/ - contacts_cache.add(ContactInfo{ - contact.display_name(), - contact.email, - contact.name, - contacts_cache.is_personal(contact.email), - contact.message_date}); + contacts_cache.add(std::move(contact)); } } diff --git a/mu/mu-cmd-cfind.cc b/mu/mu-cmd-cfind.cc index 221b99c9..a89a6267 100644 --- a/mu/mu-cmd-cfind.cc +++ b/mu/mu-cmd-cfind.cc @@ -276,7 +276,7 @@ struct ECData { }; static void -each_contact(const Mu::ContactInfo& ci, ECData& ecdata) +each_contact(const Mu::MessageContact& ci, ECData& ecdata) { if (ecdata.personal && ci.personal) return; @@ -308,7 +308,7 @@ each_contact(const Mu::ContactInfo& ci, ECData& ecdata) ci.name.c_str(), ci.email.c_str()); break; - case MU_CONFIG_FORMAT_BBDB: each_contact_bbdb(ci.email, ci.name, ci.last_seen); break; + case MU_CONFIG_FORMAT_BBDB: each_contact_bbdb(ci.email, ci.name, ci.message_date); break; case MU_CONFIG_FORMAT_CSV: mu_util_print_encoded("%s,%s\n", ci.name.empty() ? "" : Mu::quote(ci.name).c_str(), @@ -316,14 +316,14 @@ each_contact(const Mu::ContactInfo& ci, ECData& ecdata) break; case MU_CONFIG_FORMAT_DEBUG: { char datebuf[32]; - strftime(datebuf, sizeof(datebuf), "%F %T", gmtime(&ci.last_seen)); + strftime(datebuf, sizeof(datebuf), "%F %T", gmtime(&ci.message_date)); g_print("%s\n\tname: %s\n\t%s\n\tpersonal: %s\n\tfreq: %zu\n" "\tlast-seen: %s\n", ci.email.c_str(), ci.name.empty() ? "" : ci.name.c_str(), - ci.full_address.c_str(), + ci.display_name().c_str(), ci.personal ? "yes" : "no", - ci.freq, + ci.frequency, datebuf); } break; default: print_plain(ci.email, ci.name, ecdata.color);