X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/adns/blobdiff_plain/ea1e31e326a99219a0a6edf28a75845b79b74893..a719a4bedec2bc512b7f95f7446e02f6662ebbc7:/client/adnstest.c?ds=sidebyside diff --git a/client/adnstest.c b/client/adnstest.c index 2c01155..ea9ed2a 100644 --- a/client/adnstest.c +++ b/client/adnstest.c @@ -3,7 +3,7 @@ * - simple test program, not part of the library */ /* - * This file is part of adns, which is Copyright (C) 1997, 1998 Ian Jackson + * This file is part of adns, which is Copyright (C) 1997-1999 Ian Jackson * * 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 @@ -25,6 +25,10 @@ #include #include +#ifndef OUTPUTSTREAM +# define OUTPUTSTREAM stdout +#endif + #include "adns.h" static void failure(const char *what, adns_status st) { @@ -66,13 +70,21 @@ int main(int argc, char *const *argv) { adns_state ads; adns_query *qus, qu; adns_answer *ans; - const char *rrtn, *fmtn, *const *domlist; + const char *initstring, *rrtn, *fmtn; + const char *const *domlist; char *show, *cp; int len, i, qc, qi, tc, ti, ch; adns_status r, ri; const adns_rrtype *types; adns_rrtype *types_a; + if (argv[0] && argv[1] && argv[1][0] == '/') { + initstring= argv[1]+1; + argv++; + } else { + initstring= 0; + } + if (argv[0] && argv[1] && argv[1][0] == ':') { for (cp= argv[1]+1, tc=1; (ch= *cp); cp++) if (ch==',') tc++; @@ -82,7 +94,7 @@ int main(int argc, char *const *argv) { types_a[ti]= strtoul(cp,&cp,10); if ((ch= *cp)) { if (ch != ',') { - fputs("usage: dtest [:,...] [ ...]\n",stderr); + fputs("usage: dtest [/] [:,...] [ ...]\n",stderr); exit(4); } cp++; @@ -102,7 +114,11 @@ int main(int argc, char *const *argv) { qus= malloc(sizeof(qus)*qc*tc); if (!qus) { perror("malloc qus"); exit(3); } - r= adns_init(&ads,adns_if_debug|adns_if_noautosys,0); + if (initstring) { + r= adns_init_strcfg(&ads,adns_if_debug|adns_if_noautosys,stdout,initstring); + } else { + r= adns_init(&ads,adns_if_debug|adns_if_noautosys,0); + } if (r) failure("init",r); for (qi=0; qinrrs; 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); + fprintf(stdout," %s\n",show); free(show); } }