Lines Matching refs:rrset

69 	struct rrsetinfo *rrset = NULL;
120 /* initialize rrset */
121 rrset = calloc(1, sizeof(struct rrsetinfo));
122 if (rrset == NULL) {
128 rrset->rri_nrdatas = ldns_rr_list_rr_count(rrdata);
129 if (!rrset->rri_nrdatas) {
136 if ((rrset->rri_name = malloc(len)) == NULL) {
140 memcpy(rrset->rri_name,
143 rrset->rri_rdclass = ldns_rr_get_class(ldns_rr_list_rr(rrdata, 0));
144 rrset->rri_rdtype = ldns_rr_get_type(ldns_rr_list_rr(rrdata, 0));
145 rrset->rri_ttl = ldns_rr_ttl(ldns_rr_list_rr(rrdata, 0));
147 debug2("ldns: got %u answers from DNS", rrset->rri_nrdatas);
151 rrset->rri_flags |= RRSET_VALIDATED;
160 rrset->rri_nsigs = ldns_rr_list_rr_count(rrsigs);
162 rrset->rri_nsigs, LDNS_RR_TYPE_RRSIG);
166 rrset->rri_flags |= RRSET_VALIDATED;
177 rrset->rri_rdatas = calloc(rrset->rri_nrdatas,
180 if (rrset->rri_rdatas == NULL) {
186 if (rrset->rri_nsigs > 0) {
187 rrset->rri_sigs = calloc(rrset->rri_nsigs,
190 if (rrset->rri_sigs == NULL) {
201 if (ldns_rr_get_class(rr) == rrset->rri_rdclass &&
202 ldns_rr_get_type(rr) == rrset->rri_rdtype) {
203 rdata = &rrset->rri_rdatas[index_ans++];
206 if (rr->_rr_class == rrset->rri_rdclass &&
208 rrset->rri_sigs) {
209 rdata = &rrset->rri_sigs[index_sig++];
237 *res = rrset;
241 /* freerrset(rrset); */
253 freerrset(struct rrsetinfo *rrset)
257 if (rrset == NULL)
260 if (rrset->rri_rdatas) {
261 for (i = 0; i < rrset->rri_nrdatas; i++) {
262 if (rrset->rri_rdatas[i].rdi_data == NULL)
264 free(rrset->rri_rdatas[i].rdi_data);
266 free(rrset->rri_rdatas);
269 if (rrset->rri_sigs) {
270 for (i = 0; i < rrset->rri_nsigs; i++) {
271 if (rrset->rri_sigs[i].rdi_data == NULL)
273 free(rrset->rri_sigs[i].rdi_data);
275 free(rrset->rri_sigs);
278 if (rrset->rri_name)
279 free(rrset->rri_name);
280 free(rrset);