No functional change yet.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
if (!datap) return adns_s_ok;
adns__vbuf_init(&vb);
if (!datap) return adns_s_ok;
adns__vbuf_init(&vb);
- st= typei->convstring(&vb,datap);
+ st= typei->convstring(&vb,type,datap);
if (st) goto x_freevb;
if (!adns__vbuf_append(&vb,"",1)) { st= adns_s_nomemory; goto x_freevb; }
assert(strlen(vb.buf) == vb.used-1);
if (st) goto x_freevb;
if (!adns__vbuf_append(&vb,"",1)) { st= adns_s_nomemory; goto x_freevb; }
assert(strlen(vb.buf) == vb.used-1);
* Previously, used alloc_interim, now use alloc_final.
*/
* Previously, used alloc_interim, now use alloc_final.
*/
- adns_status (*convstring)(vbuf *vb, const void *data);
+ adns_status (*convstring)(vbuf *vb, adns_rrtype, const void *data);
/* Converts the RR data to a string representation in vbuf.
* vbuf will be appended to (it must have been initialised),
* and will not be null-terminated by convstring.
/* Converts the RR data to a string representation in vbuf.
* vbuf will be appended to (it must have been initialised),
* and will not be null-terminated by convstring.
-static adns_status cs_txt(vbuf *vb, const void *datap) {
+static adns_status cs_txt(vbuf *vb, adns_rrtype rrt, const void *datap) {
const adns_rr_intstr *const *rrp= datap;
const adns_rr_intstr *current;
adns_status st;
const adns_rr_intstr *const *rrp= datap;
const adns_rr_intstr *current;
adns_status st;
-static adns_status cs_hinfo(vbuf *vb, const void *datap) {
+static adns_status cs_hinfo(vbuf *vb, adns_rrtype rrt, const void *datap) {
const adns_rr_intstrpair *rrp= datap;
adns_status st;
const adns_rr_intstrpair *rrp= datap;
adns_status st;
-static adns_status cs_inaddr(vbuf *vb, const void *datap) {
+static adns_status cs_inaddr(vbuf *vb, adns_rrtype rrt, const void *datap) {
return csp_genaddr(vb, AF_INET,datap);
}
return csp_genaddr(vb, AF_INET,datap);
}
return dip_genaddr(ads,AF_INET6,datap_a,datap_b);
}
return dip_genaddr(ads,AF_INET6,datap_a,datap_b);
}
-static adns_status cs_in6addr(vbuf *vb, const void *datap) {
+static adns_status cs_in6addr(vbuf *vb, adns_rrtype rrt, const void *datap) {
return csp_genaddr(vb,AF_INET6,datap);
}
return csp_genaddr(vb,AF_INET6,datap);
}
-static adns_status cs_addr(vbuf *vb, const void *datap) {
+static adns_status cs_addr(vbuf *vb, adns_rrtype rrt, const void *datap) {
const adns_rr_addr *rrp= datap;
return csp_addr(vb,rrp);
const adns_rr_addr *rrp= datap;
return csp_addr(vb,rrp);
-static adns_status cs_domain(vbuf *vb, const void *datap) {
+static adns_status cs_domain(vbuf *vb, adns_rrtype rrt, const void *datap) {
const char *const *domainp= datap;
return csp_domain(vb,*domainp);
}
const char *const *domainp= datap;
return csp_domain(vb,*domainp);
}
-static adns_status csp_hostaddr(vbuf *vb, const adns_rr_hostaddr *rrp) {
+static adns_status csp_hostaddr(vbuf *vb, adns_rrtype rrt,
+ const adns_rr_hostaddr *rrp) {
const char *errstr;
adns_status st;
char buf[20];
const char *errstr;
adns_status st;
char buf[20];
-static adns_status cs_hostaddr(vbuf *vb, const void *datap) {
+static adns_status cs_hostaddr(vbuf *vb, adns_rrtype rrt, const void *datap) {
const adns_rr_hostaddr *rrp= datap;
const adns_rr_hostaddr *rrp= datap;
- return csp_hostaddr(vb,rrp);
+ return csp_hostaddr(vb,rrt,rrp);
-static adns_status cs_inthostaddr(vbuf *vb, const void *datap) {
+static adns_status cs_inthostaddr(vbuf *vb, adns_rrtype rrt, const void *datap) {
const adns_rr_inthostaddr *rrp= datap;
adns_status st;
st = csp_intofinthost(vb,rrp->i); if (st) return st;
const adns_rr_inthostaddr *rrp= datap;
adns_status st;
st = csp_intofinthost(vb,rrp->i); if (st) return st;
- return csp_hostaddr(vb,&rrp->ha);
+ return csp_hostaddr(vb,rrt,&rrp->ha);
-static adns_status cs_inthost(vbuf *vb, const void *datap) {
+static adns_status cs_inthost(vbuf *vb, adns_rrtype rrt, const void *datap) {
const adns_rr_intstr *rrp= datap;
adns_status st;
const adns_rr_intstr *rrp= datap;
adns_status st;
-static adns_status cs_rp(vbuf *vb, const void *datap) {
+static adns_status cs_rp(vbuf *vb, adns_rrtype rrt, const void *datap) {
const adns_rr_strpair *rrp= datap;
adns_status st;
const adns_rr_strpair *rrp= datap;
adns_status st;
adns__makefinal_str(qu,&rrp->rname);
}
adns__makefinal_str(qu,&rrp->rname);
}
-static adns_status cs_soa(vbuf *vb, const void *datap) {
+static adns_status cs_soa(vbuf *vb, adns_rrtype rrt, const void *datap) {
const adns_rr_soa *rrp= datap;
char buf[20];
int i;
const adns_rr_soa *rrp= datap;
char buf[20];
int i;
-static adns_status cs_srvraw(vbuf *vb, const void *datap) {
+static adns_status cs_srvraw(vbuf *vb, adns_rrtype rrt, const void *datap) {
const adns_rr_srvraw *rrp= datap;
adns_status st;
const adns_rr_srvraw *rrp= datap;
adns_status st;
return csp_domain(vb,rrp->host);
}
return csp_domain(vb,rrp->host);
}
-static adns_status cs_srvha(vbuf *vb, const void *datap) {
+static adns_status cs_srvha(vbuf *vb, adns_rrtype rrt, const void *datap) {
const adns_rr_srvha *rrp= datap;
adns_status st;
st= csp_srv_begin(vb,(const void*)datap); if (st) return st;
const adns_rr_srvha *rrp= datap;
adns_status st;
st= csp_srv_begin(vb,(const void*)datap); if (st) return st;
- return csp_hostaddr(vb,&rrp->ha);
+ return csp_hostaddr(vb,rrt,&rrp->ha);
}
static void postsort_srv(adns_state ads, void *array, int nrrs,int rrsz,
}
static void postsort_srv(adns_state ads, void *array, int nrrs,int rrsz,
-static adns_status cs_opaque(vbuf *vb, const void *datap) {
+static adns_status cs_opaque(vbuf *vb, adns_rrtype rrt, const void *datap) {
const adns_rr_byteblock *rrp= datap;
char buf[10];
int l;
const adns_rr_byteblock *rrp= datap;
char buf[10];
int l;