diff --git a/CHANGES b/CHANGES index 68e8ee7ac0..75cc85193e 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,5 @@ + 527. [func] New function dns_rdata_clone(). + 526. [bug] nsupdate incorrectly refused to add RRs with a TTL of 0. diff --git a/lib/dns/include/dns/rdata.h b/lib/dns/include/dns/rdata.h index a5bd18e888..5ac94c2e49 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.42 2000/10/19 05:50:54 marka Exp $ */ +/* $Id: rdata.h,v 1.43 2000/10/20 13:22:36 marka Exp $ */ #ifndef DNS_RDATA_H #define DNS_RDATA_H 1 @@ -153,6 +153,16 @@ 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_clone(dns_rdata_t *src, dns_rdata_t *target); +/* + * Clone 'target' from 'src'. + * + * Requires: + * 'src' to be initalised. + * 'target' to be initalised. + */ + /*** *** Comparisons ***/ diff --git a/lib/dns/rdata.c b/lib/dns/rdata.c index ced254657b..03a09a08a3 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.110 2000/10/19 05:50:53 marka Exp $ */ +/* $Id: rdata.c,v 1.111 2000/10/20 13:22:35 marka Exp $ */ #include #include @@ -330,6 +330,16 @@ dns_rdata_init(dns_rdata_t *rdata) { /* ISC_LIST_INIT(rdata->list); */ } +void +dns_rdata_clone(dns_rdata_t *src, dns_rdata_t *target) { + target->data = src->data; + target->length = src->length; + target->rdclass = src->rdclass; + target->type = src->type; + target->flags = src->flags; +} + + /*** *** Comparisons ***/