adns__vbuf_free(&qu->vb);
}
-void adns_cancel(adns_query query) {
+void adns_cancel(adns_query qu) {
switch (qu->state) {
case query_udp: case query_tcpwait: case query_tcpsent:
- LIST_UNLINK(ads->timew,qu);
+ LIST_UNLINK(qu->ads->timew,qu);
break;
case query_child:
- LIST_UNLINK(ads->childw,qu);
+ LIST_UNLINK(qu->ads->childw,qu);
break;
case query_done:
- LIST_UNLINK(ads->output,qu);
+ LIST_UNLINK(qu->ads->output,qu);
break;
default:
abort();
qu->id= -1;
LIST_LINK_TAIL(qu->ads->output,qu);
+
+ assert(!qu->parent);
+ /* fixme: do something with the answers to internally-generated queries. */
}
void adns__query_fail(adns_query qu, adns_status stat) {