minix utils: de-inline bit ops (saves ~130 bytes)
This commit is contained in:
		@@ -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))
 | 
			
		||||
 
 | 
			
		||||
@@ -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 */
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user