diff options
| author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-02-06 00:37:40 +0000 |
|---|---|---|
| committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-02-06 00:37:40 +0000 |
| commit | cc24419e98853aede7c652edb3c1c79a9865bdda (patch) | |
| tree | f7116bb6956d58da976003cfd878f8d762063298 /util-linux | |
| parent | dc485c9da66192a705e4d4a1ea0f8301d72906d6 (diff) | |
| download | busybox-w32-cc24419e98853aede7c652edb3c1c79a9865bdda.tar.gz busybox-w32-cc24419e98853aede7c652edb3c1c79a9865bdda.tar.bz2 busybox-w32-cc24419e98853aede7c652edb3c1c79a9865bdda.zip | |
minix utils: de-inline bit ops (saves ~130 bytes)
Diffstat (limited to 'util-linux')
| -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 4c486d08e..1ed5472b0 100644 --- a/util-linux/fsck_minix.c +++ b/util-linux/fsck_minix.c | |||
| @@ -174,22 +174,34 @@ static char *zone_map; | |||
| 174 | static unsigned char *inode_count; | 174 | static unsigned char *inode_count; |
| 175 | static unsigned char *zone_count; | 175 | static unsigned char *zone_count; |
| 176 | 176 | ||
| 177 | static int bit(const char *a, unsigned i) | 177 | /* Before you ask "where they come from?": */ |
| 178 | /* setbit/clrbit are supplied by sys/param.h */ | ||
| 179 | |||
| 180 | static int minix_bit(const char *a, unsigned i) | ||
| 178 | { | 181 | { |
| 179 | return (a[i >> 3] & (1<<(i & 7))); | 182 | return (a[i >> 3] & (1<<(i & 7))); |
| 180 | } | 183 | } |
| 181 | 184 | ||
| 182 | /* setbit/clrbit are supplied by sys/param.h */ | 185 | static void minix_setbit(char *a, unsigned i) |
| 186 | { | ||
| 187 | setbit(a, i); | ||
| 188 | changed = 1; | ||
| 189 | } | ||
| 190 | static void minix_clrbit(char *a, unsigned i) | ||
| 191 | { | ||
| 192 | clrbit(a, i); | ||
| 193 | changed = 1; | ||
| 194 | } | ||
| 183 | 195 | ||
| 184 | /* Note: do not assume 0/1, it is 0/nonzero */ | 196 | /* Note: do not assume 0/1, it is 0/nonzero */ |
| 185 | #define zone_in_use(x) (bit(zone_map,(x)-FIRSTZONE+1)) | 197 | #define zone_in_use(x) (minix_bit(zone_map,(x)-FIRSTZONE+1)) |
| 186 | #define inode_in_use(x) (bit(inode_map,(x))) | 198 | #define inode_in_use(x) (minix_bit(inode_map,(x))) |
| 187 | 199 | ||
| 188 | #define mark_inode(x) (setbit(inode_map,(x)),changed=1) | 200 | #define mark_inode(x) (minix_setbit(inode_map,(x))) |
| 189 | #define unmark_inode(x) (clrbit(inode_map,(x)),changed=1) | 201 | #define unmark_inode(x) (minix_clrbit(inode_map,(x))) |
| 190 | 202 | ||
| 191 | #define mark_zone(x) (setbit(zone_map,(x)-FIRSTZONE+1),changed=1) | 203 | #define mark_zone(x) (minix_setbit(zone_map,(x)-FIRSTZONE+1)) |
| 192 | #define unmark_zone(x) (clrbit(zone_map,(x)-FIRSTZONE+1),changed=1) | 204 | #define unmark_zone(x) (minix_clrbit(zone_map,(x)-FIRSTZONE+1)) |
| 193 | 205 | ||
| 194 | 206 | ||
| 195 | static void recursive_check(unsigned ino); | 207 | static void recursive_check(unsigned ino); |
| @@ -655,8 +667,8 @@ static struct minix1_inode *get_inode(unsigned nr) | |||
| 655 | if (repair) { | 667 | if (repair) { |
| 656 | if (ask("Mark as 'in use'", 1)) | 668 | if (ask("Mark as 'in use'", 1)) |
| 657 | mark_inode(nr); | 669 | mark_inode(nr); |
| 658 | } else { | 670 | else |
| 659 | errors_uncorrected = 1; | 671 | errors_uncorrected = 1; |
| 660 | } | 672 | } |
| 661 | } | 673 | } |
| 662 | if (S_ISDIR(inode->i_mode)) | 674 | if (S_ISDIR(inode->i_mode)) |
diff --git a/util-linux/mkfs_minix.c b/util-linux/mkfs_minix.c index e214d288a..59a9e1715 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) | |||
| 142 | #define INODE_BUFFER_SIZE (INODE_BLOCKS * BLOCK_SIZE) | 142 | #define INODE_BUFFER_SIZE (INODE_BLOCKS * BLOCK_SIZE) |
| 143 | #define NORM_FIRSTZONE (2 + SB_IMAPS + SB_ZMAPS + INODE_BLOCKS) | 143 | #define NORM_FIRSTZONE (2 + SB_IMAPS + SB_ZMAPS + INODE_BLOCKS) |
| 144 | 144 | ||
| 145 | static int bit(const char* a, unsigned i) | 145 | /* Before you ask "where they come from?": */ |
| 146 | /* setbit/clrbit are supplied by sys/param.h */ | ||
| 147 | |||
| 148 | static int minix_bit(const char* a, unsigned i) | ||
| 146 | { | 149 | { |
| 147 | return a[i >> 3] & (1<<(i & 7)); | 150 | return a[i >> 3] & (1<<(i & 7)); |
| 148 | } | 151 | } |
| 149 | 152 | ||
| 150 | /* setbit/clrbit are supplied by sys/param.h */ | 153 | static void minix_setbit(char *a, unsigned i) |
| 154 | { | ||
| 155 | setbit(a, i); | ||
| 156 | } | ||
| 157 | static void minix_clrbit(char *a, unsigned i) | ||
| 158 | { | ||
| 159 | clrbit(a, i); | ||
| 160 | } | ||
| 151 | 161 | ||
| 152 | /* Note: do not assume 0/1, it is 0/nonzero */ | 162 | /* Note: do not assume 0/1, it is 0/nonzero */ |
| 153 | #define zone_in_use(x) bit(zone_map,(x)-SB_FIRSTZONE+1) | 163 | #define zone_in_use(x) minix_bit(zone_map,(x)-SB_FIRSTZONE+1) |
| 154 | /*#define inode_in_use(x) bit(inode_map,(x))*/ | 164 | /*#define inode_in_use(x) minix_bit(inode_map,(x))*/ |
| 155 | 165 | ||
| 156 | #define mark_inode(x) setbit(inode_map,(x)) | 166 | #define mark_inode(x) minix_setbit(inode_map,(x)) |
| 157 | #define unmark_inode(x) clrbit(inode_map,(x)) | 167 | #define unmark_inode(x) minix_clrbit(inode_map,(x)) |
| 158 | #define mark_zone(x) setbit(zone_map,(x)-SB_FIRSTZONE+1) | 168 | #define mark_zone(x) minix_setbit(zone_map,(x)-SB_FIRSTZONE+1) |
| 159 | #define unmark_zone(x) clrbit(zone_map,(x)-SB_FIRSTZONE+1) | 169 | #define unmark_zone(x) minix_clrbit(zone_map,(x)-SB_FIRSTZONE+1) |
| 160 | 170 | ||
| 161 | #ifndef BLKGETSIZE | 171 | #ifndef BLKGETSIZE |
| 162 | # define BLKGETSIZE _IO(0x12,96) /* return device size */ | 172 | # define BLKGETSIZE _IO(0x12,96) /* return device size */ |
