summaryrefslogtreecommitdiff
path: root/util-linux/mkfs_minix.c
diff options
context:
space:
mode:
authorDenys Vlasenko2017-08-16 11:53:48 +0200
committerDenys Vlasenko2017-08-16 11:53:48 +0200
commitdce39c98944ec6570dee5afc1e2edb16f87c1546 (patch)
tree6647e2765c24c37ed1612bbf837a785260b96a3f /util-linux/mkfs_minix.c
parentc4367d72272f72f647d7847129164901f3d47955 (diff)
downloadbusybox-dce39c98944ec6570dee5afc1e2edb16f87c1546.zip
busybox-dce39c98944ec6570dee5afc1e2edb16f87c1546.tar.gz
fsck_minix,mkfs_minix: fix "strict-aliasing" warnings
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'util-linux/mkfs_minix.c')
-rw-r--r--util-linux/mkfs_minix.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/util-linux/mkfs_minix.c b/util-linux/mkfs_minix.c
index 88647e9..69dfcd1 100644
--- a/util-linux/mkfs_minix.c
+++ b/util-linux/mkfs_minix.c
@@ -142,7 +142,10 @@ struct globals {
unsigned currently_testing;
char root_block[BLOCK_SIZE];
- char superblock_buffer[BLOCK_SIZE];
+ union {
+ char superblock_buffer[BLOCK_SIZE];
+ struct minix_superblock SB;
+ } u;
char boot_block_buffer[512];
unsigned short good_blocks_table[MAX_GOOD_BLOCKS];
/* check_blocks(): buffer[] was the biggest static in entire bbox */
@@ -166,7 +169,7 @@ static ALWAYS_INLINE unsigned div_roundup(unsigned size, unsigned n)
#define INODE_BUF1 (((struct minix1_inode*)G.inode_buffer) - 1)
#define INODE_BUF2 (((struct minix2_inode*)G.inode_buffer) - 1)
-#define SB (*(struct minix_superblock*)G.superblock_buffer)
+#define SB (G.u.SB)
#define SB_INODES (SB.s_ninodes)
#define SB_IMAPS (SB.s_imap_blocks)
@@ -234,7 +237,7 @@ static void write_tables(void)
xlseek(dev_fd, BLOCK_SIZE, SEEK_SET);
msg_eol = "can't write superblock";
- xwrite(dev_fd, G.superblock_buffer, BLOCK_SIZE);
+ xwrite(dev_fd, G.u.superblock_buffer, BLOCK_SIZE);
msg_eol = "can't write inode map";
xwrite(dev_fd, G.inode_map, SB_IMAPS * BLOCK_SIZE);
@@ -541,7 +544,7 @@ static void setup_tables(void)
unsigned sb_zmaps;
unsigned i;
- /* memset(G.superblock_buffer, 0, BLOCK_SIZE); */
+ /* memset(G.u.superblock_buffer, 0, BLOCK_SIZE); */
/* memset(G.boot_block_buffer, 0, 512); */
SB_MAGIC = G.magic;
SB_ZONE_SIZE = 0;