aboutsummaryrefslogtreecommitdiff
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
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)
-rw-r--r--util-linux/fsck_minix.c32
-rw-r--r--util-linux/mkfs_minix.c26
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;
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))
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
145static 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
148static 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 */ 153static void minix_setbit(char *a, unsigned i)
154{
155 setbit(a, i);
156}
157static 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 */