// adds a record to an rr_group void rr_group_add(struct rr_group **group, struct rr_entry *rr) { struct rr_group *g; assert(rr != NULL); if (*group) { g = rr_group_find(*group, rr->name); if (g) { rr_list_append(&g->rr, rr); return; } } MALLOC_ZERO_STRUCT(g, rr_group); if (g) { g->name = dup_nlabel(rr->name); rr_list_append(&g->rr, rr); // prepend to list g->next = *group; *group = g; } else { die("can not allocate memory for \"g\" in tinysvcmdns"); } }
// adds a record to an rr_group void rr_group_add(struct rr_group **group, struct rr_entry *rr) { struct rr_group *g; assert(rr != NULL); if (*group) { g = rr_group_find(*group, rr->name); if (g) { rr_list_append(&g->rr, rr); return; } } MALLOC_ZERO_STRUCT(g, rr_group); g->name = dup_nlabel(rr->name); rr_list_append(&g->rr, rr); // prepend to list g->next = *group; *group = g; }