/*
- * dtest.c
+ * adnstest.c
* - simple test program, not part of the library
*/
/*
- * This file is part of adns, which is Copyright (C) 1997-1999 Ian Jackson
+ * This file is
+ * Copyright (C) 1997-1999 Ian Jackson <ian@davenant.greenend.org.uk>
+ *
+ * It is part of adns, which is
+ * Copyright (C) 1997-1999 Ian Jackson <ian@davenant.greenend.org.uk>
+ * Copyright (C) 1999 Tony Finch <dot@dotat.at>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
const char *initstring, *rrtn, *fmtn;
const char *const *fdomlist, *domain;
char *show, *cp;
- int len, i, qc, qi, tc, ti, ch, qflags, initflagsnum, npollfds, npollfdsavail, timeout;
- struct pollfd *pollfds;
+ int len, i, qc, qi, tc, ti, ch, qflags, initflagsnum;
adns_status ri;
int r;
const adns_rrtype *types;
if (initstring) {
r= adns_init_strcfg(&ads,
- (adns_if_debug|adns_if_noautosys)^initflagsnum,
+ (adns_if_debug|adns_if_noautosys|adns_if_checkc_freq)
+ ^initflagsnum,
stdout,initstring);
} else {
r= adns_init(&ads,
}
if (r) failure_errno("init",r);
- npollfdsavail= 0;
- pollfds= 0;
-
for (qi=0; qi<qc; qi++) {
fdom_split(fdomlist[qi],&domain,&qflags,ownflags,sizeof(ownflags));
if (!consistsof(ownflags,"a")) usageerr("unknown ownqueryflag");
}
if (strchr(owninitflags,'p')) {
- for (;;) {
- r= adns_check(ads,&qu,&ans,&mcr);
- if (r != EWOULDBLOCK) break;
- for (;;) {
- npollfds= npollfdsavail;
- timeout= -1;
- r= adns_beforepoll(ads, pollfds, &npollfds, &timeout, 0);
- if (r != ERANGE) break;
- pollfds= realloc(pollfds,sizeof(*pollfds)*npollfds);
- if (!pollfds) failure_errno("realloc pollfds",errno);
- npollfdsavail= npollfds;
- }
- if (r) failure_errno("beforepoll",r);
- r= poll(pollfds,npollfds,timeout);
- if (r == -1) failure_errno("poll",errno);
- adns_afterpoll(ads,pollfds, r?npollfds:0, 0);
- }
+ r= adns_wait_poll(ads,&qu,&ans,&mcr);
} else {
r= adns_wait(ads,&qu,&ans,&mcr);
}