]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
Suppress clang warning about type punning by doing it anyway but via an union.
authorWillem Toorop <willem@NLnetLabs.nl>
Wed, 25 Jan 2012 15:19:03 +0000 (15:19 +0000)
committerWillem Toorop <willem@NLnetLabs.nl>
Wed, 25 Jan 2012 15:19:03 +0000 (15:19 +0000)
examples/ldns-signzone.c

index ad6a3c9f63ea9a4a8dc8da883e7c08feeed95d61..c70649df010515e9b7f6a32cc2a4bd3ae6e44ed4 100644 (file)
@@ -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,