//config: bool "fsck_minix"
//config: default y
//config: help
-//config: The minix filesystem is a nice, small, compact, read-write filesystem
-//config: with little overhead. It is not a journaling filesystem however and
-//config: can experience corruption if it is not properly unmounted or if the
-//config: power goes off in the middle of a write. This utility allows you to
-//config: check for and attempt to repair any corruption that occurs to a minix
-//config: filesystem.
+//config: The minix filesystem is a nice, small, compact, read-write filesystem
+//config: with little overhead. It is not a journaling filesystem however and
+//config: can experience corruption if it is not properly unmounted or if the
+//config: power goes off in the middle of a write. This utility allows you to
+//config: check for and attempt to repair any corruption that occurs to a minix
+//config: filesystem.
//applet:IF_FSCK_MINIX(APPLET_ODDNAME(fsck.minix, fsck_minix, BB_DIR_SBIN, BB_SUID_DROP, fsck_minix))
/* 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];)
#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 )
#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))
INIT_G();
- opt_complementary = "=1:ar"; /* one argument; -a assumes -r */
- getopt32(argv, OPTION_STR);
+ getopt32(argv, "^" OPTION_STR "\0" "=1:ar" /* one arg; -a assumes -r */);
argv += optind;
device_name = argv[0];