From 765dd972f0b0127c753ca3083043e2a6615d8dad Mon Sep 17 00:00:00 2001 From: Willem Toorop Date: Wed, 25 Jan 2012 15:19:03 +0000 Subject: [PATCH] Suppress clang warning about type punning by doing it anyway but via an union. --- examples/ldns-signzone.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/examples/ldns-signzone.c b/examples/ldns-signzone.c index ad6a3c9f..c70649df 100644 --- a/examples/ldns-signzone.c +++ b/examples/ldns-signzone.c @@ -380,7 +380,10 @@ main(int argc, char *argv[]) ldns_status result; ldns_output_format fmt = { ldns_output_format_default->flags, NULL }; - ldns_rbtree_t **hashmap = NULL; + union { void** from_void_p_p; + ldns_rbtree_t** to_ldns_rbtree_p_p; + } hashmap_cast; + hashmap_cast.from_void_p_p = NULL; inception = 0; @@ -404,7 +407,7 @@ main(int argc, char *argv[]) fmt.flags |= LDNS_COMMENT_FLAGS; fmt.flags |= LDNS_COMMENT_NSEC3_CHAIN; fmt.flags |= LDNS_COMMENT_LAYOUT; - hashmap = (ldns_rbtree_t **)&fmt.data; + hashmap_cast.from_void_p_p = &fmt.data; break; case 'd': add_keys = false; @@ -781,7 +784,7 @@ main(int argc, char *argv[]) nsec3_salt_length, nsec3_salt, signflags, - hashmap); + hashmap_cast.to_ldns_rbtree_p_p); } else { result = ldns_dnssec_zone_sign_flg(signed_zone, added_rrs, -- 2.47.3