X-Git-Url: https://git.distorted.org.uk/~mdw/adns/blobdiff_plain/3d5cde09d167be1609d27d0d93de2096250a310c..57700a3b7786411f63fdd7e510de45fc05ed9597:/client/adh-query.c?ds=sidebyside diff --git a/client/adh-query.c b/client/adh-query.c index 856b6b2..edacb17 100644 --- a/client/adh-query.c +++ b/client/adh-query.c @@ -34,16 +34,21 @@ struct outstanding_list outstanding; static unsigned long idcounter; void ensure_adns_init(void) { + adns_initflags initflags; int r; if (ads) return; if (signal(SIGPIPE,SIG_IGN) == SIG_ERR) sysfail("ignore SIGPIPE",errno); - r= adns_init(&ads, - adns_if_noautosys|adns_if_nosigpipe | - (ov_env ? 0 : adns_if_noenv) | - ov_verbose, - 0); + + initflags= adns_if_noautosys|adns_if_nosigpipe|ov_verbose; + if (!ov_env) initflags |= adns_if_noenv; + + if (config_text) { + r= adns_init_strcfg(&ads, initflags, stderr, config_text); + } else { + r= adns_init(&ads, initflags, 0); + } if (r) sysfail("adns_init",r); if (ov_format == fmt_default) @@ -143,6 +148,7 @@ void query_do(const char *domain) { static void dequeue_query(struct query_node *qun) { LIST_UNLINK(outstanding,qun); free(qun->id); + free(qun->owner); free(qun); }