diff options
author | Erwin Lansing <erwin@FreeBSD.org> | 2014-12-15 12:14:41 +0000 |
---|---|---|
committer | Erwin Lansing <erwin@FreeBSD.org> | 2014-12-15 12:14:41 +0000 |
commit | 4c9547cd12b5bb569f10b368eb6bb04d897d596f (patch) | |
tree | 025b1191fa4f9c03bf5345071dd2658f5d240b69 /lib/dns/ecdb.c | |
parent | 989b3b2d6068ce5b525479b7754977baf6364a7d (diff) |
Notes
Diffstat (limited to 'lib/dns/ecdb.c')
-rw-r--r-- | lib/dns/ecdb.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/lib/dns/ecdb.c b/lib/dns/ecdb.c index 8b3f7740081bd..22cd810a773c7 100644 --- a/lib/dns/ecdb.c +++ b/lib/dns/ecdb.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009-2011, 2013 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2009-2011, 2013, 2014 Internet Systems Consortium, Inc. ("ISC") * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -14,8 +14,6 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: ecdb.c,v 1.10 2011/12/20 00:06:53 marka Exp $ */ - #include "config.h" #include <isc/result.h> @@ -772,19 +770,24 @@ rdataset_settrust(dns_rdataset_t *rdataset, dns_trust_t trust) { static void rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp) { - ecdb_rdatasetiter_t *ecdbiterator; isc_mem_t *mctx; + union { + dns_rdatasetiter_t *rdatasetiterator; + ecdb_rdatasetiter_t *ecdbiterator; + } u; REQUIRE(iteratorp != NULL); - ecdbiterator = (ecdb_rdatasetiter_t *)*iteratorp; - REQUIRE(DNS_RDATASETITER_VALID(&ecdbiterator->common)); + REQUIRE(DNS_RDATASETITER_VALID(*iteratorp)); - mctx = ecdbiterator->common.db->mctx; + u.rdatasetiterator = *iteratorp; - ecdbiterator->common.magic = 0; + mctx = u.ecdbiterator->common.db->mctx; + u.ecdbiterator->common.magic = 0; - dns_db_detachnode(ecdbiterator->common.db, &ecdbiterator->common.node); - isc_mem_put(mctx, ecdbiterator, sizeof(ecdb_rdatasetiter_t)); + dns_db_detachnode(u.ecdbiterator->common.db, + &u.ecdbiterator->common.node); + isc_mem_put(mctx, u.ecdbiterator, + sizeof(ecdb_rdatasetiter_t)); *iteratorp = NULL; } |