From 389c749a5ee18f1c0d6278ae49f2aae5d5f0d2dc Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Tue, 24 Oct 2000 02:03:33 +0000 Subject: [PATCH] 530. [func] New function dns_rdata_invalidate(). --- CHANGES | 2 ++ lib/dns/include/dns/rdata.h | 11 ++++++++++- lib/dns/rdata.c | 14 +++++++++++++- 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 5b6aabe575..a0c557ad4f 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,5 @@ + 530. [func] New function dns_rdata_invalidate(). + 529. [bug] 521 contained a bug which caused zones to always reload. [RT #410] diff --git a/lib/dns/include/dns/rdata.h b/lib/dns/include/dns/rdata.h index 5ac94c2e49..7ccf967e7f 100644 --- a/lib/dns/include/dns/rdata.h +++ b/lib/dns/include/dns/rdata.h @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: rdata.h,v 1.43 2000/10/20 13:22:36 marka Exp $ */ +/* $Id: rdata.h,v 1.44 2000/10/24 02:03:33 marka Exp $ */ #ifndef DNS_RDATA_H #define DNS_RDATA_H 1 @@ -153,6 +153,15 @@ dns_rdata_init(dns_rdata_t *rdata); * 'rdata' is a valid rdata (i.e. not NULL, points to a struct dns_rdata) */ +void +dns_rdata_invalidate(dns_rdata_t *rdata); +/* + * Make 'rdata' empty. + * + * Requires: + * 'rdata' is a previously initaliased rdata and is not linked. + */ + void dns_rdata_clone(dns_rdata_t *src, dns_rdata_t *target); /* diff --git a/lib/dns/rdata.c b/lib/dns/rdata.c index 03a09a08a3..23062000e4 100644 --- a/lib/dns/rdata.c +++ b/lib/dns/rdata.c @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: rdata.c,v 1.111 2000/10/20 13:22:35 marka Exp $ */ +/* $Id: rdata.c,v 1.112 2000/10/24 02:03:32 marka Exp $ */ #include #include @@ -330,6 +330,18 @@ dns_rdata_init(dns_rdata_t *rdata) { /* ISC_LIST_INIT(rdata->list); */ } +void +dns_rdata_invalidate(dns_rdata_t *rdata) { + + REQUIRE(!ISC_LINK_LINKED(rdata, link)); + + rdata->data = NULL; + rdata->length = 0; + rdata->rdclass = 0; + rdata->type = 0; + rdata->flags = 0; +} + void dns_rdata_clone(dns_rdata_t *src, dns_rdata_t *target) { target->data = src->data;