X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=adns.git;a=blobdiff_plain;f=src%2Fquery.c;h=6a1ec75ffd8df3b0d838793d8c6b0e1a76736e2b;hp=1de9dfd181932cfdd2082c3333904782e8da21bc;hb=07c3d3e2ca60a3dba7843ebeccc3dc06f3c8ce5d;hpb=0288732570d2a52a069ab5e6c377450e30c6eee6 diff --git a/src/query.c b/src/query.c index 1de9dfd..6a1ec75 100644 --- a/src/query.c +++ b/src/query.c @@ -104,8 +104,8 @@ static void query_submit(adns_state ads, adns_query qu, qu->id= id; qu->query_dglen= qu->vb.used; memcpy(qu->query_dgram,qu->vb.buf,qu->vb.used); - - adns__query_send(qu,now); + + typei->query_send(qu,now); } adns_status adns__ckl_hostname(adns_state ads, adns_queryflags flags, @@ -148,6 +148,7 @@ 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_query parent, const typeinfo *typei, adns_rrtype type, vbuf *qumsg_vb, int id, adns_queryflags flags, struct timeval now, @@ -161,6 +162,8 @@ adns_status adns__internal_submit(adns_state ads, adns_query *query_r, if (!qu) { err = adns_s_nomemory; goto x_err; } *query_r= qu; + qu->parent= parent; + LIST_LINK_TAIL_PART(parent->children,qu,siblings.); memcpy(&qu->ctx,ctx,sizeof(qu->ctx)); query_submit(ads,qu, typei,qumsg_vb,id,flags,now);