-static void vdebug(adns_state ads, const char *fmt, va_list al) {
- if (!(ads->iflags & adns_if_debug)) return;
- fputs("adns debug: ",stderr);
+void adns__vdiag(adns_state ads, adns_initflags prevent, const char *pfx,
+ int serv, const char *fmt, va_list al) {
+ if (!(ads->iflags & adns_if_debug) && (!prevent || (ads->iflags & prevent))) return;
+ if (serv>=0) {
+ fprintf(stderr,"adns%s: nameserver %s: ",pfx,inet_ntoa(ads->servers[serv].addr));
+ } else {
+ fprintf(stderr,"adns%s: ",pfx);
+ }