mkfs_ext2, mkfs_vfat: fix warnings in STORE_LE on big-endian platforms
authorDenys Vlasenko <vda.linux@googlemail.com>
Thu, 15 Feb 2018 12:46:34 +0000 (13:46 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Thu, 15 Feb 2018 12:46:34 +0000 (13:46 +0100)
"warning: large integer implicitly truncated to unsigned type [-Woverflow]"

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
util-linux/mkfs_ext2.c
util-linux/mkfs_vfat.c

index 8434dd6ad0ec6409c4f01a973978d5cd96a29d3c..f524bc239d3e9251c18e1e90e78503cfc0502c2b 100644 (file)
@@ -83,11 +83,11 @@ char BUG_wrong_field_size(void);
 #define STORE_LE(field, value) \
 do { \
        if (sizeof(field) == 4) \
-               field = SWAP_LE32(value); \
+               field = SWAP_LE32((uint32_t)(value)); \
        else if (sizeof(field) == 2) \
-               field = SWAP_LE16(value); \
+               field = SWAP_LE16((uint16_t)(value)); \
        else if (sizeof(field) == 1) \
-               field = (value); \
+               field = (uint8_t)(value); \
        else \
                BUG_wrong_field_size(); \
 } while (0)
index 426854b1ef048a93d1d279f2f296ff00f313ece4..26a919536dc8212fff4861f02b3a0ca6f5762265 100644 (file)
@@ -210,11 +210,11 @@ void BUG_unsupported_field_size(void);
 #define STORE_LE(field, value) \
 do { \
        if (sizeof(field) == 4) \
-               field = SWAP_LE32(value); \
+               field = SWAP_LE32((uint32_t)(value)); \
        else if (sizeof(field) == 2) \
-               field = SWAP_LE16(value); \
+               field = SWAP_LE16((uint16_t)(value)); \
        else if (sizeof(field) == 1) \
-               field = (value); \
+               field = (uint8_t)(value); \
        else \
                BUG_unsupported_field_size(); \
 } while (0)