1 static int rdata_cmp(const void * e1,const void * e2)2rdata_cmp(const void *e1, const void *e2) 3 { 4 const wdns_rdata_t *r1 = *((wdns_rdata_t **) e1); 5 const wdns_rdata_t *r2 = *((wdns_rdata_t **) e2); 6 7 if (r1->len < r2->len) { 8 return (-1); 9 } else if (r1->len > r2->len) { 10 return (1); 11 } else { 12 return (memcmp(r1->data, r2->data, r1->len)); 13 } 14 } 15 16 /** 17 * Sort the rdata set of an RRset. 18 * 19 * \return wdns_res_success 20 */ 21 22 wdns_res wdns_sort_rrset(wdns_rrset_t * rrset)23wdns_sort_rrset(wdns_rrset_t *rrset) 24 { 25 if (rrset->n_rdatas > 1) 26 qsort(&rrset->rdatas[0], 27 rrset->n_rdatas, 28 sizeof(rrset->rdatas[0]), 29 rdata_cmp); 30 return (wdns_res_success); 31 } 32