From dce39c98944ec6570dee5afc1e2edb16f87c1546 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Wed, 16 Aug 2017 11:53:48 +0200 Subject: fsck_minix,mkfs_minix: fix "strict-aliasing" warnings Signed-off-by: Denys Vlasenko --- util-linux/fsck_minix.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'util-linux/fsck_minix.c') diff --git a/util-linux/fsck_minix.c b/util-linux/fsck_minix.c index 608048983..c4612f251 100644 --- a/util-linux/fsck_minix.c +++ b/util-linux/fsck_minix.c @@ -173,7 +173,10 @@ struct globals { /* Bigger stuff */ struct termios sv_termios; - char superblock_buffer[BLOCK_SIZE]; + union { + char superblock_buffer[BLOCK_SIZE]; + struct minix_superblock Super; + } u; char add_zone_ind_blk[BLOCK_SIZE]; char add_zone_dind_blk[BLOCK_SIZE]; IF_FEATURE_MINIX2(char add_zone_tind_blk[BLOCK_SIZE];) @@ -207,7 +210,7 @@ struct globals { #define name_depth (G.name_depth ) #define name_component (G.name_component ) #define sv_termios (G.sv_termios ) -#define superblock_buffer (G.superblock_buffer ) +#define superblock_buffer (G.u.superblock_buffer) #define add_zone_ind_blk (G.add_zone_ind_blk ) #define add_zone_dind_blk (G.add_zone_dind_blk ) #define add_zone_tind_blk (G.add_zone_tind_blk ) @@ -247,7 +250,7 @@ enum { #define Inode1 (((struct minix1_inode *) inode_buffer)-1) #define Inode2 (((struct minix2_inode *) inode_buffer)-1) -#define Super (*(struct minix_superblock *)(superblock_buffer)) +#define Super (G.u.Super) #if ENABLE_FEATURE_MINIX2 # define ZONES ((unsigned)(version2 ? Super.s_zones : Super.s_nzones)) -- cgit v1.2.3