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:
parent
839a4a20d8
commit
ce736ace37
@ -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) {
|
||||||
|
Loading…
Reference in New Issue
Block a user