mirror of https://github.com/djcb/mu.git
server: fix contacts handler
Condition was b0rked; clean up code a bit.
This commit is contained in:
parent
11df0bedce
commit
6168d776e1
|
@ -543,14 +543,14 @@ Server::Private::contacts_handler(const Command& cmd)
|
||||||
personal ? "personal" : "any", mu_time(after), tstamp);
|
personal ? "personal" : "any", mu_time(after), tstamp);
|
||||||
|
|
||||||
auto match_contact = [&](const Contact& ci)->bool {
|
auto match_contact = [&](const Contact& ci)->bool {
|
||||||
if (tstamp > ci.tstamp)
|
if (ci.tstamp < tstamp)
|
||||||
return false; /* already seen? */
|
return false; /* already seen? */
|
||||||
else if (personal && !ci.personal)
|
else if (personal && !ci.personal)
|
||||||
return false; /* not personal? */
|
return false; /* not personal? */
|
||||||
else if (after > ci.message_date)
|
else if (ci.message_date < after)
|
||||||
return true; /* too old? */
|
return false; /* too old? */
|
||||||
else
|
else
|
||||||
return false;
|
return true;
|
||||||
};
|
};
|
||||||
|
|
||||||
auto n{0};
|
auto n{0};
|
||||||
|
@ -561,15 +561,15 @@ Server::Private::contacts_handler(const Command& cmd)
|
||||||
auto&& tmp_file = std::move(std::get<0>(tmp_stream));
|
auto&& tmp_file = std::move(std::get<0>(tmp_stream));
|
||||||
auto&& tmp_file_name = std::move(std::get<1>(tmp_stream));
|
auto&& tmp_file_name = std::move(std::get<1>(tmp_stream));
|
||||||
|
|
||||||
tmp_file << '(';
|
mu_print(tmp_file, "(");
|
||||||
store().contacts_cache().for_each([&](const Contact& ci) {
|
store().contacts_cache().for_each([&](const Contact& ci) {
|
||||||
if (!match_contact(ci))
|
if (!match_contact(ci))
|
||||||
return true; // continue
|
return true; // continue
|
||||||
tmp_file << quote(ci.display_name()) << "\n";
|
mu_println(tmp_file, "{}", quote(ci.display_name()));
|
||||||
++n;
|
++n;
|
||||||
return maxnum == 0 || n < maxnum;
|
return maxnum == 0 || n < maxnum;
|
||||||
});
|
});
|
||||||
tmp_file << ')';
|
mu_print(tmp_file, ")");
|
||||||
output_sexp(Sexp{":tstamp"_sym, mu_format("\"{}\"", g_get_monotonic_time()),
|
output_sexp(Sexp{":tstamp"_sym, mu_format("\"{}\"", g_get_monotonic_time()),
|
||||||
":contacts-temp-file"_sym, tmp_file_name});
|
":contacts-temp-file"_sym, tmp_file_name});
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue