move storage helpers to libbb.h
authorDenys Vlasenko <vda.linux@googlemail.com>
Fri, 28 Sep 2018 13:13:04 +0000 (15:13 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Fri, 28 Sep 2018 13:13:04 +0000 (15:13 +0200)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
e2fsprogs/tune2fs.c
include/libbb.h
util-linux/mkfs_ext2.c
util-linux/mkfs_reiser.c
util-linux/mkfs_vfat.c

index a1caf011c88ba846f7f88276afcf812d2d53ec3c..f7fcd88bf07e2a81bd80ddfebf04117164c3afd7 100644 (file)
 #include <linux/fs.h>
 #include "bb_e2fs_defs.h"
 
-// storage helpers
-char BUG_wrong_field_size(void);
-#define STORE_LE(field, value) \
-do { \
-       if (sizeof(field) == 4) \
-               field = SWAP_LE32(value); \
-       else if (sizeof(field) == 2) \
-               field = SWAP_LE16(value); \
-       else if (sizeof(field) == 1) \
-               field = (value); \
-       else \
-               BUG_wrong_field_size(); \
-} while (0)
-
-#define FETCH_LE32(field) \
-       (sizeof(field) == 4 ? SWAP_LE32(field) : BUG_wrong_field_size())
-
 enum {
        OPT_L = 1 << 0, // label
        OPT_c = 1 << 1, // max mount count
index 7cad12c448559e0072274201484c44796d878259..61fa1e03e62c45fe66318cb8afa9e90fc7ba29c6 100644 (file)
@@ -2127,6 +2127,23 @@ extern const char bb_default_login_shell[] ALIGN1;
 # define FB_0 "/dev/fb0"
 #endif
 
+// storage helpers for mk*fs utilities
+char BUG_wrong_field_size(void);
+#define STORE_LE(field, value) \
+do { \
+       if (sizeof(field) == 4) \
+               field = SWAP_LE32((uint32_t)(value)); \
+       else if (sizeof(field) == 2) \
+               field = SWAP_LE16((uint16_t)(value)); \
+       else if (sizeof(field) == 1) \
+               field = (uint8_t)(value); \
+       else \
+               BUG_wrong_field_size(); \
+} while (0)
+
+#define FETCH_LE32(field) \
+       (sizeof(field) == 4 ? SWAP_LE32(field) : BUG_wrong_field_size())
+
 
 #define ARRAY_SIZE(x) ((unsigned)(sizeof(x) / sizeof((x)[0])))
 #define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
index f524bc239d3e9251c18e1e90e78503cfc0502c2b..bda168f1e6c3e17b24efdb052312c797883241b0 100644 (file)
 #define EXT2_FLAGS_SIGNED_HASH   0x0001
 #define EXT2_FLAGS_UNSIGNED_HASH 0x0002
 
-// storage helpers
-char BUG_wrong_field_size(void);
-#define STORE_LE(field, value) \
-do { \
-       if (sizeof(field) == 4) \
-               field = SWAP_LE32((uint32_t)(value)); \
-       else if (sizeof(field) == 2) \
-               field = SWAP_LE16((uint16_t)(value)); \
-       else if (sizeof(field) == 1) \
-               field = (uint8_t)(value); \
-       else \
-               BUG_wrong_field_size(); \
-} while (0)
-
-#define FETCH_LE32(field) \
-       (sizeof(field) == 4 ? SWAP_LE32(field) : BUG_wrong_field_size())
-
 // All fields are little-endian
 struct ext2_dir {
        uint32_t inode1;
index 390aef86c524d00910a617be171794cad19e9a8a..b4c8dda6ff40aaecf7da9cc1a7337fadec2b5f26 100644 (file)
 #include "libbb.h"
 #include <linux/fs.h>
 
-char BUG_wrong_field_size(void);
-#define STORE_LE(field, value) \
-do { \
-       if (sizeof(field) == 4) \
-               field = SWAP_LE32(value); \
-       else if (sizeof(field) == 2) \
-               field = SWAP_LE16(value); \
-       else if (sizeof(field) == 1) \
-               field = (value); \
-       else \
-               BUG_wrong_field_size(); \
-} while (0)
-
-#define FETCH_LE32(field) \
-       (sizeof(field) == 4 ? SWAP_LE32(field) : BUG_wrong_field_size())
-
 struct journal_params {
        uint32_t jp_journal_1st_block;      /* where does journal start from on its device */
        uint32_t jp_journal_dev;            /* journal device st_rdev */
index 92f0e3b1a02d3c2e2e8aab1963b4b460f2dfc781..6a6dc652fb87c4188680a6d5637ab32775c9abd9 100644 (file)
@@ -206,19 +206,6 @@ static const char boot_code[] ALIGN1 =
 #define MARK_CLUSTER(cluster, value) \
        ((uint32_t *)fat)[cluster] = SWAP_LE32(value)
 
-void BUG_unsupported_field_size(void);
-#define STORE_LE(field, value) \
-do { \
-       if (sizeof(field) == 4) \
-               field = SWAP_LE32((uint32_t)(value)); \
-       else if (sizeof(field) == 2) \
-               field = SWAP_LE16((uint16_t)(value)); \
-       else if (sizeof(field) == 1) \
-               field = (uint8_t)(value); \
-       else \
-               BUG_unsupported_field_size(); \
-} while (0)
-
 /* compat:
  * mkdosfs 2.11 (12 Mar 2005)
  * Usage: mkdosfs [-A] [-c] [-C] [-v] [-I] [-l bad-block-file]