From 13ece9e5596de82261d10647a92a7522c6255884 Mon Sep 17 00:00:00 2001 From: Jan Kadlec <jan.kadlec@nic.cz> Date: Mon, 24 Mar 2014 14:30:45 +0100 Subject: [PATCH] new_node: store additionals directly into rr_data structure. --- src/knot/zone/zone-contents.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/knot/zone/zone-contents.c b/src/knot/zone/zone-contents.c index 88dc77b951..47b6507977 100644 --- a/src/knot/zone/zone-contents.c +++ b/src/knot/zone/zone-contents.c @@ -153,8 +153,7 @@ static int knot_zone_contents_nsec3_name(const knot_zone_contents_t *zone, /*! \brief Link pointers to additional nodes for this RRSet. */ static int discover_additionals(struct rr_data *rr_data, - knot_zone_contents_t *zone, - knot_node_t ***additional) + knot_zone_contents_t *zone) { const knot_node_t *node = NULL, *encloser = NULL, *prev = NULL; const knot_dname_t *dname = NULL; @@ -162,8 +161,8 @@ static int discover_additionals(struct rr_data *rr_data, /* Create new additional nodes. */ uint16_t rdcount = rrs->rr_count; - *additional = malloc(rdcount * sizeof(knot_node_t *)); - if (*additional == NULL) { + rr_data->additional = malloc(rdcount * sizeof(knot_node_t *)); + if (rr_data->additional == NULL) { ERR_ALLOC_FAILED; return KNOT_ENOMEM; } @@ -178,7 +177,7 @@ static int discover_additionals(struct rr_data *rr_data, node = encloser->wildcard_child; } - (*additional)[i] = (knot_node_t *)node; + rr_data->additional[i] = (knot_node_t *)node; } return KNOT_EOK; @@ -334,13 +333,10 @@ static int adjust_additional(knot_node_t **tnode, void *data) for(uint16_t i = 0; i < node->rrset_count; ++i) { struct rr_data *rr_data = &node->rrs[i]; if (rrset_additional_needed(rr_data->type)) { - knot_node_t **additional = NULL; - ret = discover_additionals(rr_data, args->zone, - &additional); + ret = discover_additionals(rr_data, args->zone); if (ret != KNOT_EOK) { break; } - rr_data->additional = additional; } } -- GitLab