struct object_entry
{
struct object_entry *next;
- enum object_type type;
unsigned long offset;
+ unsigned type : TYPE_BITS;
unsigned char sha1[20];
};
static unsigned long object_count;
static unsigned long duplicate_count;
static unsigned long marks_set_count;
-static unsigned long object_count_by_type[9];
-static unsigned long duplicate_count_by_type[9];
-static unsigned long delta_count_by_type[9];
+static unsigned long object_count_by_type[1 << TYPE_BITS];
+static unsigned long duplicate_count_by_type[1 << TYPE_BITS];
+static unsigned long delta_count_by_type[1 << TYPE_BITS];
/* Memory pools */
static size_t mem_pool_alloc = 2*1024*1024 - sizeof(struct mem_pool);
static FILE* branch_log;
-static void alloc_objects(int cnt)
+static void alloc_objects(unsigned int cnt)
{
struct object_entry_pool *b;