Tcl_Obj *errstring_accum;
};
+struct Query {
+ int ix; /* first! */
+ Resolver *res;
+ adns_query aqu;
+ ScriptToInvoke on_yes, on_no, on_fail;
+ Tcl_Obj *xargs;
+};
+
/* The default resolver is recorded using Tcl_SetAssocData with key
* ASSOC_DEFAULTRES to record the Resolver*. If it was explicitly
* created with `adns new-resolver' then ix will be >=0, and the
static void destroy_resolver(Tcl_Interp *ip, Resolver *res) {
void *query_v;
+ Query *query;
int logstring_len;
char *rstr;
adns_query aqu;
adns_forallqueries_begin(res->ads);
aqu= adns_forallqueries_next(res->ads, &query_v);
if (!aqu) break;
- assert(query_v->aqu == aqu);
- query_v->aqu= 0; /* avoid disrupting the adns query list */
+ query= query_v;
+ assert(query->aqu == aqu);
+ query->aqu= 0; /* avoid disrupting the adns query list */
asynch_query_dispose(ip, query_v);
}
adns_finish(res->ads);
/*---------- asynchronous query handling ----------*/
-struct Query {
- int ix; /* first! */
- Resolver *res;
- adns_query aqu;
- ScriptToInvoke on_yes, on_no, on_fail;
- Tcl_Obj *xargs;
-};
-
static void asynch_check_now(Resolver *res);
static void asynch_timerhandler(void *res_v) {