diff options
author | Denis Vlasenko | 2008-06-25 10:00:58 +0000 |
---|---|---|
committer | Denis Vlasenko | 2008-06-25 10:00:58 +0000 |
commit | e06f61d27345f3b9727d58d46da99a47614f5a60 (patch) | |
tree | 1a44b70076954579eec605a50fc2afc95aeaae6e | |
parent | 7049ff8696c3c2a1be0f9901d7e2473568b8f918 (diff) | |
download | busybox-e06f61d27345f3b9727d58d46da99a47614f5a60.zip busybox-e06f61d27345f3b9727d58d46da99a47614f5a60.tar.gz |
mkfs_minix, fsck_minix: code shrink
function old new delta
fsck_minix_main 3092 3094 +2
next 539 538 -1
get_free_block 165 164 -1
check_zone_nr2 121 120 -1
alarm_intr 94 93 -1
recursive_check2 587 583 -4
recursive_check 587 583 -4
mkfs_minix_main 2974 2968 -6
map_block 237 231 -6
map_block2 341 333 -8
bad_zone 64 56 -8
write_block 619 610 -9
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/11 up/down: 2/-49) Total: -47 bytes
-rw-r--r-- | util-linux/fsck_minix.c | 6 | ||||
-rw-r--r-- | util-linux/mkfs_minix.c | 32 |
2 files changed, 19 insertions, 19 deletions
diff --git a/util-linux/fsck_minix.c b/util-linux/fsck_minix.c index dba5241..cd17afa 100644 --- a/util-linux/fsck_minix.c +++ b/util-linux/fsck_minix.c @@ -121,8 +121,9 @@ enum { version2 = 0 }; enum { MAX_DEPTH = 32 }; +enum { dev_fd = 3 }; + struct globals { - int dev_fd; #if ENABLE_FEATURE_MINIX2 smallint version2; #endif @@ -158,7 +159,6 @@ struct globals { }; #define G (*ptr_to_globals) -#define dev_fd (G.dev_fd ) #if ENABLE_FEATURE_MINIX2 #define version2 (G.version2 ) #endif @@ -1223,7 +1223,7 @@ int fsck_minix_main(int argc ATTRIBUTE_UNUSED, char **argv) if (!isatty(0) || !isatty(1)) die("need terminal for interactive repairs"); } - dev_fd = xopen(device_name, OPT_repair ? O_RDWR : O_RDONLY); + xmove_fd(xopen(device_name, OPT_repair ? O_RDWR : O_RDONLY), dev_fd); /*sync(); paranoia? */ read_superblock(); diff --git a/util-linux/mkfs_minix.c b/util-linux/mkfs_minix.c index 49b1d4c..1e00a08 100644 --- a/util-linux/mkfs_minix.c +++ b/util-linux/mkfs_minix.c @@ -88,9 +88,9 @@ enum { enum { version2 = 0 }; #endif -struct globals { - int dev_fd; +enum { dev_fd = 3 }; +struct globals { #if ENABLE_FEATURE_MINIX2 smallint version2; #define version2 G.version2 @@ -240,33 +240,33 @@ static void write_tables(void) SB.s_state &= ~MINIX_ERROR_FS; msg_eol = "seek to 0 failed"; - xlseek(G.dev_fd, 0, SEEK_SET); + xlseek(dev_fd, 0, SEEK_SET); msg_eol = "cannot clear boot sector"; - xwrite(G.dev_fd, G.boot_block_buffer, 512); + xwrite(dev_fd, G.boot_block_buffer, 512); msg_eol = "seek to BLOCK_SIZE failed"; - xlseek(G.dev_fd, BLOCK_SIZE, SEEK_SET); + xlseek(dev_fd, BLOCK_SIZE, SEEK_SET); msg_eol = "cannot write superblock"; - xwrite(G.dev_fd, G.super_block_buffer, BLOCK_SIZE); + xwrite(dev_fd, G.super_block_buffer, BLOCK_SIZE); msg_eol = "cannot write inode map"; - xwrite(G.dev_fd, G.inode_map, SB_IMAPS * BLOCK_SIZE); + xwrite(dev_fd, G.inode_map, SB_IMAPS * BLOCK_SIZE); msg_eol = "cannot write zone map"; - xwrite(G.dev_fd, G.zone_map, SB_ZMAPS * BLOCK_SIZE); + xwrite(dev_fd, G.zone_map, SB_ZMAPS * BLOCK_SIZE); msg_eol = "cannot write inodes"; - xwrite(G.dev_fd, G.inode_buffer, INODE_BUFFER_SIZE); + xwrite(dev_fd, G.inode_buffer, INODE_BUFFER_SIZE); msg_eol = "\n"; } static void write_block(int blk, char *buffer) { - xlseek(G.dev_fd, blk * BLOCK_SIZE, SEEK_SET); - xwrite(G.dev_fd, buffer, BLOCK_SIZE); + xlseek(dev_fd, blk * BLOCK_SIZE, SEEK_SET); + xwrite(dev_fd, buffer, BLOCK_SIZE); } static int get_free_block(void) @@ -481,11 +481,11 @@ static size_t do_check(char *buffer, size_t try, unsigned current_block) /* Seek to the correct loc. */ msg_eol = "seek failed during testing of blocks"; - xlseek(G.dev_fd, current_block * BLOCK_SIZE, SEEK_SET); + xlseek(dev_fd, current_block * BLOCK_SIZE, SEEK_SET); msg_eol = "\n"; /* Try the read */ - got = read(G.dev_fd, buffer, try * BLOCK_SIZE); + got = read(dev_fd, buffer, try * BLOCK_SIZE); if (got < 0) got = 0; try = ((size_t)got) / BLOCK_SIZE; @@ -516,7 +516,7 @@ static void check_blocks(void) alarm(5); while (G.currently_testing < SB_ZONES) { msg_eol = "seek failed in check_blocks"; - xlseek(G.dev_fd, G.currently_testing * BLOCK_SIZE, SEEK_SET); + xlseek(dev_fd, G.currently_testing * BLOCK_SIZE, SEEK_SET); msg_eol = "\n"; try = TEST_BUFFER_BLOCKS; if (G.currently_testing + try > SB_ZONES) @@ -688,8 +688,8 @@ int mkfs_minix_main(int argc ATTRIBUTE_UNUSED, char **argv) "refusing to make a filesystem", G.device_name, mp->mnt_dir); - G.dev_fd = xopen(G.device_name, O_RDWR); - if (fstat(G.dev_fd, &statbuf) < 0) + xmove_fd(xopen(G.device_name, O_RDWR), dev_fd); + if (fstat(dev_fd, &statbuf) < 0) bb_error_msg_and_die("cannot stat %s", G.device_name); if (!S_ISBLK(statbuf.st_mode)) opt &= ~1; // clear -c (check) |