chiark
/
gitweb
/
~mdw
/
adns
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
+ General Improvements:
[adns]
/
client
/
adh-query.c
diff --git
a/client/adh-query.c
b/client/adh-query.c
index 856b6b2edd81b645b62eb1ae2d21840ee3dc34ef..edacb17072f2910e8a2dcc42ab601a0070d644e0 100644
(file)
--- 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) {
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);
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)
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);
static void dequeue_query(struct query_node *qun) {
LIST_UNLINK(outstanding,qun);
free(qun->id);
+ free(qun->owner);
free(qun);
}
free(qun);
}