From: Willem Toorop Date: Wed, 25 Jan 2012 15:19:03 +0000 (+0000) Subject: Suppress clang warning about type punning by doing it anyway but via an union. X-Git-Tag: release-1.6.13rc1~30 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=765dd972f0b0127c753ca3083043e2a6615d8dad;p=thirdparty%2Fldns.git Suppress clang warning about type punning by doing it anyway but via an union. --- 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,