chiark
/
gitweb
/
~mdw
/
adns
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
src/: Fix internals to carry around address families.
[adns]
/
src
/
query.c
diff --git
a/src/query.c
b/src/query.c
index 26a4df03eaddc770fdf5910d3f8bf6b816488761..717cac0d3c7418b3e751c04d65b4dfba29de09f5 100644
(file)
--- a/
src/query.c
+++ b/
src/query.c
@@
-83,7
+83,7
@@
static adns_query query_alloc(adns_state ads,
qu->answer->expires= -1;
qu->answer->nrrs= 0;
qu->answer->rrs.untyped= 0;
qu->answer->expires= -1;
qu->answer->nrrs= 0;
qu->answer->rrs.untyped= 0;
- qu->answer->rrsz= typei->
rrsz
;
+ qu->answer->rrsz= typei->
getrrsz(typei,type)
;
return qu;
}
return qu;
}
@@
-148,8
+148,8
@@
static adns_status check_domain_name(adns_state ads, adns_queryflags flags,
}
adns_status adns__internal_submit(adns_state ads, adns_query *query_r,
}
adns_status adns__internal_submit(adns_state ads, adns_query *query_r,
- const typeinfo *typei,
vbuf *qumsg_vb
,
- int id,
+ const typeinfo *typei,
adns_rrtype type
,
+
vbuf *qumsg_vb,
int id,
adns_queryflags flags, struct timeval now,
qcontext *ctx) {
adns_query qu;
adns_queryflags flags, struct timeval now,
qcontext *ctx) {
adns_query qu;
@@
-157,7
+157,7
@@
adns_status adns__internal_submit(adns_state ads, adns_query *query_r,
err= check_domain_name(ads, flags,ctx,typei, qumsg_vb->buf,qumsg_vb->used);
if (err) goto x_err;
err= check_domain_name(ads, flags,ctx,typei, qumsg_vb->buf,qumsg_vb->used);
if (err) goto x_err;
- qu= query_alloc(ads,typei,type
i->typekey
,flags,now);
+ qu= query_alloc(ads,typei,type,flags,now);
if (!qu) { err = adns_s_nomemory; goto x_err; }
*query_r= qu;
if (!qu) { err = adns_s_nomemory; goto x_err; }
*query_r= qu;
@@
-580,7
+580,7
@@
void adns__query_done(adns_query qu) {
}
if (ans->nrrs && qu->typei->diff_needswap) {
}
if (ans->nrrs && qu->typei->diff_needswap) {
- if (!adns__vbuf_ensure(&qu->vb,qu->
typei
->rrsz)) {
+ if (!adns__vbuf_ensure(&qu->vb,qu->
answer
->rrsz)) {
adns__query_fail(qu,adns_s_nomemory);
return;
}
adns__query_fail(qu,adns_s_nomemory);
return;
}
@@
-591,7
+591,8
@@
void adns__query_done(adns_query qu) {
qu->ads);
}
if (ans->nrrs && qu->typei->postsort) {
qu->ads);
}
if (ans->nrrs && qu->typei->postsort) {
- qu->typei->postsort(qu->ads, ans->rrs.bytes, ans->nrrs, qu->typei);
+ qu->typei->postsort(qu->ads, ans->rrs.bytes,
+ ans->nrrs,ans->rrsz, qu->typei);
}
ans->expires= qu->expires;
}
ans->expires= qu->expires;