*
* This code handles A and AAAA rdatasets only.
*/
-static isc_result_t
+static void
import_rdataset(dns_adbname_t *adbname, dns_rdataset_t *rdataset,
isc_stdtime_t now) {
- isc_result_t result;
dns_adb_t *adb = NULL;
dns_rdatatype_t rdtype;
REQUIRE(dns_rdatatype_isaddr(rdtype));
- for (result = dns_rdataset_first(rdataset); result == ISC_R_SUCCESS;
- result = dns_rdataset_next(rdataset))
+ for (isc_result_t result = dns_rdataset_first(rdataset);
+ result == ISC_R_SUCCESS; result = dns_rdataset_next(rdataset))
{
/* FIXME: Move to a separate function */
dns_adbnamehooklist_t *hookhead = NULL;
UNLOCK(&entry->lock);
dns_adbentry_detach(&entry);
}
- if (result == ISC_R_NOMORE) {
- result = ISC_R_SUCCESS;
- }
- INSIST(result == ISC_R_SUCCESS);
switch (rdtype) {
case dns_rdatatype_a:
default:
UNREACHABLE();
}
-
- return ISC_R_SUCCESS;
}
static bool
switch (result) {
case DNS_R_GLUE:
case DNS_R_HINT:
+ result = ISC_R_SUCCESS;
+ FALLTHROUGH;
case ISC_R_SUCCESS:
/*
* Found in the database. Even if we can't copy out
} else {
adbname->fetch6_err = FIND_ERR_SUCCESS;
}
- result = import_rdataset(adbname, &rdataset, now);
+ import_rdataset(adbname, &rdataset, now);
break;
case DNS_R_NXDOMAIN:
case DNS_R_NXRRSET:
dns_adbfetch_t *fetch = NULL;
dns_adbstatus_t astat = DNS_ADB_NOMOREADDRESSES;
isc_stdtime_t now;
- isc_result_t result;
unsigned int address_type;
REQUIRE(DNS_ADBNAME_VALID(name));
*/
if (resp->result == DNS_R_CNAME || resp->result == DNS_R_DNAME) {
resp->rdataset->ttl = ttlclamp(resp->rdataset->ttl);
- result = ISC_R_SUCCESS;
name->flags |= NAME_IS_ALIAS;
name->expire_v4 = name->expire_v6 =
ADJUSTED_EXPIRE(INT_MAX, now, resp->rdataset->ttl);
- goto check_result;
+ goto moreaddrs;
}
/*
/*
* We got something potentially useful.
*/
- result = import_rdataset(name, &fetch->rdataset, now);
+ import_rdataset(name, &fetch->rdataset, now);
-check_result:
- if (result == ISC_R_SUCCESS) {
- astat = DNS_ADB_MOREADDRESSES;
- if (address_type == DNS_ADBFIND_INET) {
- name->fetch_err = FIND_ERR_SUCCESS;
- } else {
- name->fetch6_err = FIND_ERR_SUCCESS;
- }
+moreaddrs:
+ astat = DNS_ADB_MOREADDRESSES;
+ if (address_type == DNS_ADBFIND_INET) {
+ name->fetch_err = FIND_ERR_SUCCESS;
+ } else {
+ name->fetch6_err = FIND_ERR_SUCCESS;
}
out: