- qu= qus[qi];
- r= adns_wait(ads,&qu,&ans,0);
- if (r) failure("wait",r);
-
- ri= adns_rr_info(ans->type, &rrtn,&fmtn,&len, 0,0);
- fprintf(stdout, "%s: %s; nrrs=%d; cname=%s; ",
- argv[qi], adns_strerror(ans->status),
- ans->nrrs, ans->cname ? ans->cname : "$");
- fprintf(stdout, "type %s(%s) %s\n",
- ri ? "?" : rrtn, ri ? "?" : fmtn ? fmtn : "-",
- adns_strerror(ri));
- if (ans->nrrs) {
- assert(!ri);
- for (i=0; i<ans->nrrs; i++) {
- r= adns_rr_info(ans->type, 0,0,0, ans->rrs.bytes+i*len,&show);
- if (r) failure("info",r);
- printf(" %s\n",show);
- free(show);
+ fdom_split(fdomlist[qi],&domain,&qflags);
+
+ for (ti=0; ti<tc; ti++) {
+ qu= qus[qi*tc+ti];
+ if (!qu) continue;
+
+ r= adns_wait(ads,&qu,&ans,0);
+ if (r) failure("wait",r);
+
+ if (gettimeofday(&now,0)) { perror("gettimeofday"); exit(3); }
+
+ ri= adns_rr_info(ans->type, &rrtn,&fmtn,&len, 0,0);
+ fprintf(stdout, "%s flags %d type ",domain,qflags);
+ dumptype(ri,rrtn,fmtn);
+ fprintf(stdout, ": %s; nrrs=%d; cname=%s; owner=%s; ttl=%ld\n",
+ adns_strerror(ans->status),
+ ans->nrrs,
+ ans->cname ? ans->cname : "$",
+ ans->owner ? ans->owner : "$",
+ (long)ans->expires - (long)now.tv_sec);
+ if (ans->nrrs) {
+ assert(!ri);
+ for (i=0; i<ans->nrrs; i++) {
+ r= adns_rr_info(ans->type, 0,0,0, ans->rrs.bytes + i*len, &show);
+ if (r) failure("info",r);
+ fprintf(stdout," %s\n",show);
+ free(show);
+ }