diff options
author | Denis Vlasenko | 2007-02-06 00:37:40 +0000 |
---|---|---|
committer | Denis Vlasenko | 2007-02-06 00:37:40 +0000 |
commit | cc24419e98853aede7c652edb3c1c79a9865bdda (patch) | |
tree | f7116bb6956d58da976003cfd878f8d762063298 | |
parent | dc485c9da66192a705e4d4a1ea0f8301d72906d6 (diff) | |
download | busybox-cc24419e98853aede7c652edb3c1c79a9865bdda.zip busybox-cc24419e98853aede7c652edb3c1c79a9865bdda.tar.gz |
minix utils: de-inline bit ops (saves ~130 bytes)
-rw-r--r-- | util-linux/fsck_minix.c | 32 | ||||
-rw-r--r-- | util-linux/mkfs_minix.c | 26 |
2 files changed, 40 insertions, 18 deletions
diff --git a/util-linux/fsck_minix.c b/util-linux/fsck_minix.c index 4c486d0..1ed5472 100644 --- a/util-linux/fsck_minix.c +++ b/util-linux/fsck_minix.c @@ -174,22 +174,34 @@ static char *zone_map; static unsigned char *inode_count; static unsigned char *zone_count; -static int bit(const char *a, unsigned i) +/* Before you ask "where they come from?": */ +/* setbit/clrbit are supplied by sys/param.h */ + +static int minix_bit(const char *a, unsigned i) { return (a[i >> 3] & (1<<(i & 7))); } -/* setbit/clrbit are supplied by sys/param.h */ +static void minix_setbit(char *a, unsigned i) +{ + setbit(a, i); + changed = 1; +} +static void minix_clrbit(char *a, unsigned i) +{ + clrbit(a, i); + changed = 1; +} /* Note: do not assume 0/1, it is 0/nonzero */ -#define zone_in_use(x) (bit(zone_map,(x)-FIRSTZONE+1)) -#define inode_in_use(x) (bit(inode_map,(x))) +#define zone_in_use(x) (minix_bit(zone_map,(x)-FIRSTZONE+1)) +#define inode_in_use(x) (minix_bit(inode_map,(x))) -#define mark_inode(x) (setbit(inode_map,(x)),changed=1) -#define unmark_inode(x) (clrbit(inode_map,(x)),changed=1) +#define mark_inode(x) (minix_setbit(inode_map,(x))) +#define unmark_inode(x) (minix_clrbit(inode_map,(x))) -#define mark_zone(x) (setbit(zone_map,(x)-FIRSTZONE+1),changed=1) -#define unmark_zone(x) (clrbit(zone_map,(x)-FIRSTZONE+1),changed=1) +#define mark_zone(x) (minix_setbit(zone_map,(x)-FIRSTZONE+1)) +#define unmark_zone(x) (minix_clrbit(zone_map,(x)-FIRSTZONE+1)) static void recursive_check(unsigned ino); @@ -655,8 +667,8 @@ static struct minix1_inode *get_inode(unsigned nr) if (repair) { if (ask("Mark as 'in use'", 1)) mark_inode(nr); - } else { - errors_uncorrected = 1; + else + errors_uncorrected = 1; } } if (S_ISDIR(inode->i_mode)) diff --git a/util-linux/mkfs_minix.c b/util-linux/mkfs_minix.c index e214d28..59a9e17 100644 --- a/util-linux/mkfs_minix.c +++ b/util-linux/mkfs_minix.c @@ -142,21 +142,31 @@ static ATTRIBUTE_ALWAYS_INLINE unsigned div_roundup(unsigned size, unsigned n) #define INODE_BUFFER_SIZE (INODE_BLOCKS * BLOCK_SIZE) #define NORM_FIRSTZONE (2 + SB_IMAPS + SB_ZMAPS + INODE_BLOCKS) -static int bit(const char* a, unsigned i) +/* Before you ask "where they come from?": */ +/* setbit/clrbit are supplied by sys/param.h */ + +static int minix_bit(const char* a, unsigned i) { return a[i >> 3] & (1<<(i & 7)); } -/* setbit/clrbit are supplied by sys/param.h */ +static void minix_setbit(char *a, unsigned i) +{ + setbit(a, i); +} +static void minix_clrbit(char *a, unsigned i) +{ + clrbit(a, i); +} /* Note: do not assume 0/1, it is 0/nonzero */ -#define zone_in_use(x) bit(zone_map,(x)-SB_FIRSTZONE+1) -/*#define inode_in_use(x) bit(inode_map,(x))*/ +#define zone_in_use(x) minix_bit(zone_map,(x)-SB_FIRSTZONE+1) +/*#define inode_in_use(x) minix_bit(inode_map,(x))*/ -#define mark_inode(x) setbit(inode_map,(x)) -#define unmark_inode(x) clrbit(inode_map,(x)) -#define mark_zone(x) setbit(zone_map,(x)-SB_FIRSTZONE+1) -#define unmark_zone(x) clrbit(zone_map,(x)-SB_FIRSTZONE+1) +#define mark_inode(x) minix_setbit(inode_map,(x)) +#define unmark_inode(x) minix_clrbit(inode_map,(x)) +#define mark_zone(x) minix_setbit(zone_map,(x)-SB_FIRSTZONE+1) +#define unmark_zone(x) minix_clrbit(zone_map,(x)-SB_FIRSTZONE+1) #ifndef BLKGETSIZE # define BLKGETSIZE _IO(0x12,96) /* return device size */ |