*/
static void
delete_node(dns_qpdb_t *qpdb, dns_rbtnode_t *node) {
- dns_rbtnode_t *nsecnode = NULL;
- dns_fixedname_t fname;
dns_name_t *name = NULL;
isc_result_t result = ISC_R_UNEXPECTED;
}
switch (node->nsec) {
- case DNS_DB_NSEC_NORMAL:
- result = dns_rbt_deletenode(qpdb->tree, node, false);
- break;
case DNS_DB_NSEC_HAS_NSEC:
- /*
- * Though this may be wasteful, it has to be done before
- * node is deleted.
- */
- name = dns_fixedname_initname(&fname);
- dns_rbt_fullnamefromnode(node, name);
/*
* Delete the corresponding node from the auxiliary NSEC
* tree before deleting from the main tree.
*/
- nsecnode = NULL;
- result = dns_rbt_findnode(qpdb->nsec, name, NULL, &nsecnode,
- NULL, DNS_RBTFIND_EMPTYDATA, NULL,
- NULL);
+ result = dns_qp_deletename(qpdb->nsec, node->name, NULL, NULL);
if (result != ISC_R_SUCCESS) {
isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
DNS_LOGMODULE_CACHE, ISC_LOG_WARNING,
- "delete_node: "
- "dns_rbt_findnode(nsec): %s",
+ "delete_node(): "
+ "dns_qp_deletename: %s",
isc_result_totext(result));
- } else {
- result = dns_rbt_deletenode(qpdb->nsec, nsecnode,
- false);
- if (result != ISC_R_SUCCESS) {
- isc_log_write(
- dns_lctx, DNS_LOGCATEGORY_DATABASE,
- DNS_LOGMODULE_CACHE, ISC_LOG_WARNING,
- "delete_node(): "
- "dns_rbt_deletenode(nsecnode): %s",
- isc_result_totext(result));
- }
}
- result = dns_rbt_deletenode(qpdb->tree, node, false);
+ /* FALLTHROUGH */
+ case DNS_DB_NSEC_NORMAL:
+ result = dns_qp_deletename(qpdb->tree, node->name, NULL, NULL);
break;
case DNS_DB_NSEC_NSEC:
- result = dns_rbt_deletenode(qpdb->nsec, node, false);
+ result = dns_qp_deletename(qpdb->nsec, node->name, NULL, NULL);
break;
case DNS_DB_NSEC_NSEC3:
- result = dns_rbt_deletenode(qpdb->nsec3, node, false);
+ result = dns_qp_deletename(qpdb->nsec3, node->name, NULL, NULL);
break;
}
if (result != ISC_R_SUCCESS) {
isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
DNS_LOGMODULE_CACHE, ISC_LOG_WARNING,
"delete_node(): "
- "dns_rbt_deletenode: %s",
+ "dns_qp_deletename: %s",
isc_result_totext(result));
}
}