X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Ftypes.c;h=b1fdae79f93eefd6fd1500465e486058cbbac73c;hb=0f15dd7b03058cb07e55d36ab36029081d556ffc;hp=53b40e2ecc4464bda59a6d10505dd3fe66f9337b;hpb=b365d68ae5de07ef9dc4a3b92058a13edba5ad6f;p=adns.git diff --git a/src/types.c b/src/types.c index 53b40e2..b1fdae7 100644 --- a/src/types.c +++ b/src/types.c @@ -3,7 +3,12 @@ * - RR-type-specific code, and the machinery to call it */ /* - * This file is part of adns, which is Copyright (C) 1997-1999 Ian Jackson + * This file is + * Copyright (C) 1997-1999 Ian Jackson + * + * It is part of adns, which is + * Copyright (C) 1997-2000 Ian Jackson + * Copyright (C) 1999-2000 Tony Finch * * 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 @@ -545,13 +550,24 @@ static void mf_hostaddr(adns_query qu, void *datap) { } static adns_status csp_hostaddr(vbuf *vb, const adns_rr_hostaddr *rrp) { + const char *errstr; adns_status st; + char buf[20]; int i; - st= csp_domain(vb,rrp->host); if (st) return st; + st= csp_domain(vb,rrp->host); if (st) return st; CSP_ADDSTR(" "); + CSP_ADDSTR(adns_errtypeabbrev(rrp->astatus)); + + sprintf(buf," %d ",rrp->astatus); + CSP_ADDSTR(buf); + CSP_ADDSTR(adns_errabbrev(rrp->astatus)); + CSP_ADDSTR(" "); + + errstr= adns_strerror(rrp->astatus); + st= csp_qstring(vb,errstr,strlen(errstr)); if (st) return st; if (rrp->naddrs >= 0) { CSP_ADDSTR(" ("); @@ -835,7 +851,7 @@ static adns_status pap_mailbox822(const parseinfo *pai, int *cbyte_io, int max, c= *p++; if ((c&~128) < 32 || (c&~128) == 127) return adns_s_invaliddata; if (c == '.' && !neednorm) neednorm= 1; - else if (c==' ' || ctype_822special(c)) needquote++; + else if (c==' ' || c>=127 || ctype_822special(c)) needquote++; else neednorm= 0; }