1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2024-10-27 18:55:09 +03:00

resolved: get rid of unnecessary if check

DNS_ANSWER_FOREACH() can deal with NULL answers anyway, let's simplify our code here.
This commit is contained in:
Lennart Poettering 2016-01-20 22:07:48 +01:00
parent 839a4a20d8
commit ce736ace37

View File

@ -136,8 +136,9 @@ static int append_address(sd_bus_message *reply, DnsResourceRecord *rr, int ifin
static void bus_method_resolve_hostname_complete(DnsQuery *q) { static void bus_method_resolve_hostname_complete(DnsQuery *q) {
_cleanup_(dns_resource_record_unrefp) DnsResourceRecord *canonical = NULL; _cleanup_(dns_resource_record_unrefp) DnsResourceRecord *canonical = NULL;
_cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL; _cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL;
DnsResourceRecord *rr;
unsigned added = 0; unsigned added = 0;
int r; int ifindex, r;
assert(q); assert(q);
@ -164,30 +165,25 @@ static void bus_method_resolve_hostname_complete(DnsQuery *q) {
if (r < 0) if (r < 0)
goto finish; goto finish;
if (q->answer) { DNS_ANSWER_FOREACH_IFINDEX(rr, ifindex, q->answer) {
DnsResourceRecord *rr; DnsQuestion *question;
int ifindex;
DNS_ANSWER_FOREACH_IFINDEX(rr, ifindex, q->answer) { question = dns_query_question_for_protocol(q, q->answer_protocol);
DnsQuestion *question;
question = dns_query_question_for_protocol(q, q->answer_protocol); r = dns_question_matches_rr(question, rr, DNS_SEARCH_DOMAIN_NAME(q->answer_search_domain));
if (r < 0)
goto finish;
if (r == 0)
continue;
r = dns_question_matches_rr(question, rr, DNS_SEARCH_DOMAIN_NAME(q->answer_search_domain)); r = append_address(reply, rr, ifindex);
if (r < 0) if (r < 0)
goto finish; goto finish;
if (r == 0)
continue;
r = append_address(reply, rr, ifindex); if (!canonical)
if (r < 0) canonical = dns_resource_record_ref(rr);
goto finish;
if (!canonical) added ++;
canonical = dns_resource_record_ref(rr);
added ++;
}
} }
if (added <= 0) { if (added <= 0) {