X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=client%2Fadnslogres.c;h=b81b221e04a6c6c5d3b4203a4dd7673d8e2d65ca;hb=e32d0f9ec3413e4781ef9682e360e3c31e41c293;hp=ab594d712025863131fc4b2491f40aa1999fd017;hpb=2658c3058287d395a640aadcd7e3f5caa89efedf;p=adns.git diff --git a/client/adnslogres.c b/client/adnslogres.c index ab594d7..b81b221 100644 --- a/client/adnslogres.c +++ b/client/adnslogres.c @@ -58,6 +58,7 @@ static const char * const cvsid = static const char *progname; #define msg(fmt, args...) fprintf(stderr, "%s: " fmt "\n", progname, ##args) +#define guard_null(str) ((str) ? (str) : "") #define sensible_ctype(type,ch) (type((unsigned char)(ch))) /* isfoo() functions from ctype.h can't safely be fed char - blech ! */ @@ -133,7 +134,7 @@ static logline *readline(FILE *inf, adns_state adns, int opts) { strcpy(line->start, buf); str= ipaddr2domain(line->start, &line->addr, &line->rest); if (opts & OPT_DEBUG) - msg("submitting %.*s -> %s", line->rest-line->addr, line->addr, str); + msg("submitting %.*s -> %s", line->rest-line->addr, guard_null(line->addr), str); if (adns_submit(adns, str, adns_r_ptr, adns_qf_quoteok_cname|adns_qf_cname_loose, NULL, &line->query)) @@ -158,14 +159,15 @@ static void proclog(FILE *inf, FILE *outf, int opts) { while (head) { if (opts & OPT_DEBUG) msg("%d in queue; checking %.*s", len, - head->rest-head->addr, head->addr); - if (eof || len > MAXPENDING) + head->rest-head->addr, guard_null(head->addr)); + if (eof || len > MAXPENDING) { if (opts & OPT_POLL) err= adns_wait_poll(adns, &head->query, &answer, NULL); else err= adns_wait(adns, &head->query, &answer, NULL); - else + } else { err= adns_check(adns, &head->query, &answer, NULL); + } if (err != EAGAIN) { printline(outf, head->start, head->addr, head->rest, answer->status == adns_s_ok ? *answer->rrs.str : NULL);