static zone_node_t *node_new_for_contents(const knot_dname_t *owner, const zone_contents_t *contents)
{
return node_new(owner, (contents->nodes->flags & ZONE_TREE_USE_BINODES),
- (contents->nodes->flags & ZONE_TREE_USE_BINODES) &&
(contents->nodes->flags & ZONE_TREE_BINO_SECOND), NULL);
}
// Node is authoritative by default.
ret->flags = NODE_FLAGS_AUTH;
- if (second) {
- ret->flags |= NODE_FLAGS_DELETED;
- }
if (binode) {
ret->flags |= NODE_FLAGS_BINODE;
+ if (second) {
+ ret->flags |= NODE_FLAGS_DELETED;
+ }
memcpy(ret + 1, ret, sizeof(*ret));
(ret + 1)->flags ^= NODE_FLAGS_SECOND | NODE_FLAGS_DELETED;
}