X-Git-Url: https://git.distorted.org.uk/~mdw/adns/blobdiff_plain/c6826df6bf398abfdfb42cdc034341588c8b141d..3b375d76e45c11a4c7cbcb9fcc3ca76d7e2148a6:/client/adnslogres.c?ds=inline diff --git a/client/adnslogres.c b/client/adnslogres.c index 44a185c..98e2c32 100644 --- a/client/adnslogres.c +++ b/client/adnslogres.c @@ -31,7 +31,7 @@ */ static const char * const cvsid = - "$Id: adnslogres.c,v 1.18 2000/09/17 00:24:24 ian Exp $"; + "$Id: adnslogres.c,v 1.21 2006/04/03 22:41:14 ian Exp $"; #include #include @@ -46,6 +46,7 @@ static const char * const cvsid = #include "config.h" #include "adns.h" +#include "client.h" #ifdef ADNS_REGRESS_TEST # include "hredirect.h" @@ -114,10 +115,10 @@ retry: } } sprintf(buf, "%.*s.%.*s.%.*s.%.*s.in-addr.arpa.", - ptrs[4]-ptrs[3]-1, ptrs[3], - ptrs[3]-ptrs[2]-1, ptrs[2], - ptrs[2]-ptrs[1]-1, ptrs[1], - ptrs[1]-ptrs[0]-1, ptrs[0]); + (int)(ptrs[4]-ptrs[3]-1), ptrs[3], + (int)(ptrs[3]-ptrs[2]-1), ptrs[2], + (int)(ptrs[2]-ptrs[1]-1), ptrs[1], + (int)(ptrs[1]-ptrs[0]-1), ptrs[0]); *addr= ptrs[0]; *rest= ptrs[4]-1; return buf; @@ -125,7 +126,7 @@ retry: static void printline(FILE *outf, char *start, char *addr, char *rest, char *domain) { if (domain) - fprintf(outf, "%.*s%s%s", addr - start, start, domain, rest); + fprintf(outf, "%.*s%s%s", (int)(addr - start), start, domain, rest); else fputs(start, outf); if (ferror(outf)) aargh("write output"); @@ -218,9 +219,18 @@ static void proclog(FILE *inf, FILE *outf, int maxpending, int opts) { adns_finish(adns); } +static void printhelp(FILE *file) { + fputs("usage: adnslogres [] []\n" + " adnslogres --version|--help\n" + "options: -c set max number of outstanding queries\n" + " -p use poll(2) instead of select(2)\n" + " -d turn on debugging\n" + " -C use instead of contents of resolv.conf\n", + stdout); +} + static void usage(void) { - fprintf(stderr, "usage: %s [-d] [-p] [-c concurrency] [-C config] [logfile]\n", - progname); + printhelp(stderr); exit(1); } @@ -229,6 +239,18 @@ int main(int argc, char *argv[]) { extern char *optarg; FILE *inf; + if (argv[1] && !strncmp(argv[1],"--",2)) { + if (!strcmp(argv[1],"--help")) { + printhelp(stdout); + } else if (!strcmp(argv[1],"--version")) { + fputs(VERSION_MESSAGE("adnslogres"),stdout); + } else { + usage(); + } + if (ferror(stdout) || fclose(stdout)) { perror("stdout"); exit(1); } + exit(0); + } + maxpending= DEFMAXPENDING; opts= 0; while ((c= getopt(argc, argv, "c:C:dp")) != -1)