From f8aae502686e2448c48f56697c212a50e2a1cbae Mon Sep 17 00:00:00 2001 From: Andreas Gustafsson Date: Fri, 9 Jul 1999 12:48:51 +0000 Subject: [PATCH] added dns_rdatatype_ismeta(); support zero-length rdata in dns_rdata_totext() --- lib/dns/rdata.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/dns/rdata.c b/lib/dns/rdata.c index e6b3ef8801..4663aee269 100644 --- a/lib/dns/rdata.c +++ b/lib/dns/rdata.c @@ -15,7 +15,7 @@ * SOFTWARE. */ - /* $Id: rdata.c,v 1.53 1999/07/06 19:05:24 halley Exp $ */ + /* $Id: rdata.c,v 1.54 1999/07/09 12:48:51 gson Exp $ */ #include @@ -443,6 +443,10 @@ rdata_totext(dns_rdata_t *rdata, dns_rdata_textctx_t *tctx, if (tctx->origin != NULL) REQUIRE(dns_name_isabsolute(tctx->origin) == ISC_TRUE); + /* Some DynDNS meta-RRs have empty rdata. */ + if (rdata->length == 0) + return (DNS_R_SUCCESS); + TOTEXTSWITCH if (use_default) @@ -1354,3 +1358,13 @@ fromtext_error(void (*callback)(dns_rdatacallbacks_t *, char *, ...), } } +isc_boolean_t +dns_rdatatype_ismeta(dns_rdatatype_t type) { + struct tbl *t; + REQUIRE(type < 65536); + for (t = types; t->name != NULL; t++) { + if (type == t->value) + return ((t->flags & META) ? ISC_TRUE : ISC_FALSE); + } + return (ISC_FALSE); /* Unknown type, assume non-meta. */ +}