diff --git a/src/dnslib/zone.c b/src/dnslib/zone.c index 5d5a70ea2d5afcab7ac3c7af9cec824d374661d5..e162fa6e88d3ab86ac0a67baf95c69ef2836b22e 100644 --- a/src/dnslib/zone.c +++ b/src/dnslib/zone.c @@ -188,7 +188,7 @@ static void dnslib_zone_adjust_node_in_tree(dnslib_node_t *node, void *data) /* API functions */ /*----------------------------------------------------------------------------*/ -dnslib_zone_t *dnslib_zone_new(dnslib_node_t *apex) +dnslib_zone_t *dnslib_zone_new(dnslib_node_t *apex, uint node_count) { if (apex == NULL) { return NULL; @@ -215,6 +215,8 @@ dnslib_zone_t *dnslib_zone_new(dnslib_node_t *apex) return NULL; } + zone->node_count = node_count; + TREE_INIT(zone->tree, dnslib_node_compare); TREE_INIT(zone->nsec3_nodes, dnslib_node_compare); diff --git a/src/dnslib/zone.h b/src/dnslib/zone.h index 992491c0525fad58a165f6cafb3f16a72f211f38..66f6ee939d1a840d41468841278b2c20ba7b4853 100644 --- a/src/dnslib/zone.h +++ b/src/dnslib/zone.h @@ -44,10 +44,11 @@ typedef struct dnslib_zone dnslib_zone_t; * \brief Creates new DNS zone. * * \param apex Node representing the zone apex. + * \param node_count Number of authorative nodes in the zone. * * \return The initialized zone structure or NULL if an error occured. */ -dnslib_zone_t *dnslib_zone_new(dnslib_node_t *apex); +dnslib_zone_t *dnslib_zone_new(dnslib_node_t *apex, uint node_count); /*! * \brief Adds a node to the given zone. diff --git a/src/tests/dnslib/dnslib_zone_tests.c b/src/tests/dnslib/dnslib_zone_tests.c index 220a0e2790eda68b4ea8dbb6a815c71bf01abd9e..cc42a262303499a9afe91c7d738941c938f2463b 100644 --- a/src/tests/dnslib/dnslib_zone_tests.c +++ b/src/tests/dnslib/dnslib_zone_tests.c @@ -63,7 +63,7 @@ static int test_zone_create(dnslib_zone_t **zone) return 0; } - *zone = dnslib_zone_new(node); + *zone = dnslib_zone_new(node, 0); if ((*zone) == NULL) { diag("zone: Failed to create zone.");