summaryrefslogtreecommitdiff
path: root/util-linux/fsck_minix.c
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2007-02-06 00:37:40 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2007-02-06 00:37:40 +0000
commitcc24419e98853aede7c652edb3c1c79a9865bdda (patch)
treef7116bb6956d58da976003cfd878f8d762063298 /util-linux/fsck_minix.c
parentdc485c9da66192a705e4d4a1ea0f8301d72906d6 (diff)
downloadbusybox-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/fsck_minix.c')
-rw-r--r--util-linux/fsck_minix.c32
1 files changed, 22 insertions, 10 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;
174static unsigned char *inode_count; 174static unsigned char *inode_count;
175static unsigned char *zone_count; 175static unsigned char *zone_count;
176 176
177static 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
180static 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 */ 185static void minix_setbit(char *a, unsigned i)
186{
187 setbit(a, i);
188 changed = 1;
189}
190static 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
195static void recursive_check(unsigned ino); 207static 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))